fix #5179 extractPaymentIntent null pointer

payIntent.paymentAddr has not been initialized.
This commit is contained in:
GameXG 2021-04-07 10:41:31 +08:00
parent d1c7059f14
commit f980bc38f1

@ -3096,7 +3096,7 @@ func (r *rpcServer) PendingChannels(ctx context.Context,
return nil, err return nil, err
} }
resp.TotalLimboBalance += int64(forceClose.LimboBalance) resp.TotalLimboBalance += forceClose.LimboBalance
resp.PendingForceClosingChannels = append( resp.PendingForceClosingChannels = append(
resp.PendingForceClosingChannels, resp.PendingForceClosingChannels,
@ -4311,6 +4311,10 @@ func (r *rpcServer) extractPaymentIntent(rpcPayReq *rpcPaymentRequest) (rpcPayme
if len(rpcPayReq.PaymentAddr) != 0 && len(rpcPayReq.PaymentAddr) != 32 { if len(rpcPayReq.PaymentAddr) != 0 && len(rpcPayReq.PaymentAddr) != 32 {
return payIntent, errors.New("invalid payment address length") return payIntent, errors.New("invalid payment address length")
} }
if payIntent.paymentAddr == nil {
payIntent.paymentAddr = &[32]byte{}
}
copy(payIntent.paymentAddr[:], rpcPayReq.PaymentAddr) copy(payIntent.paymentAddr[:], rpcPayReq.PaymentAddr)
// Otherwise, If the payment request field was not specified // Otherwise, If the payment request field was not specified