Merge pull request #5419 from LN-Zap/upstream/fix-no-payment-address

lnd: only set payment address if not empty in PaymentRequest
This commit is contained in:
Olaoluwa Osuntokun 2021-06-24 15:46:41 -07:00 committed by GitHub
commit 6a97e6432d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4354,10 +4354,14 @@ func (r *rpcServer) extractPaymentIntent(rpcPayReq *rpcPaymentRequest) (rpcPayme
return payIntent, errors.New("invalid payment address length") return payIntent, errors.New("invalid payment address length")
} }
if payIntent.paymentAddr == nil { // Set the payment address if it was explicitly defined with the
// rpcPaymentRequest.
// Note that the payment address for the payIntent should be nil if none
// was provided with the rpcPaymentRequest.
if len(rpcPayReq.PaymentAddr) != 0 {
payIntent.paymentAddr = &[32]byte{} 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
// (and a custom route wasn't specified), construct the payment // (and a custom route wasn't specified), construct the payment