mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-03-26 01:33:02 +01:00
routerrpc: Check for nil IncomingCircuitKey
The grpc stream.Recv() will decode an ForwardHtlcInterceptResponse without an IncomingCircuit, which will leave that pointer nil, causing a nil pointer dereferece when components of in.IncomingCircuitKey are used in the resolveFromClient() function. This commit checks for the nil pointer and returns an error before the rest of the parsing.
This commit is contained in:
parent
f94500281f
commit
17f7b9f322
@ -125,6 +125,9 @@ current gossip sync query status.
|
||||
update in order to use the new versioned RPC and upgrade any on-chain outputs
|
||||
to the new version.
|
||||
|
||||
* [A bug has been fixed which could cause `lnd` to crash when parsing a
|
||||
malformed HTLC intercept message](https://github.com/lightningnetwork/lnd/pull/7392).
|
||||
|
||||
## Wallet
|
||||
|
||||
* [Allows Taproot public keys and tap scripts to be imported as watch-only
|
||||
|
@ -100,6 +100,11 @@ func (r *forwardInterceptor) onIntercept(
|
||||
func (r *forwardInterceptor) resolveFromClient(
|
||||
in *ForwardHtlcInterceptResponse) error {
|
||||
|
||||
if in.IncomingCircuitKey == nil {
|
||||
return status.Errorf(codes.InvalidArgument,
|
||||
"CircuitKey missing from ForwardHtlcInterceptResponse")
|
||||
}
|
||||
|
||||
log.Tracef("Resolving intercepted packet %v", in)
|
||||
|
||||
circuitKey := models.CircuitKey{
|
||||
|
Loading…
x
Reference in New Issue
Block a user