From 8eda489ae28a3672513dd59c1009ddbf101f8d58 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 23 Jan 2020 16:20:38 +1030 Subject: [PATCH] lightningd: don't stop processing revoke_and_ack if an HTLC is invalid. This shouldn't happen if channeld is working properly, but I'm going to change that, and this current code means we stop responding at that point (not every failpath in peer_accepted_htlc() called channel_internal_error). Signed-off-by: Rusty Russell --- lightningd/peer_htlcs.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 12f47214f..1906fd338 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -1682,9 +1682,8 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) for (i = 0; i < tal_count(changed); i++) { /* If we're doing final accept, we need to forward */ if (changed[i].newstate == RCVD_ADD_ACK_REVOCATION) { - if (!peer_accepted_htlc(channel, changed[i].id, false, - &failcodes[i])) - return; + peer_accepted_htlc(channel, changed[i].id, false, + &failcodes[i]); } else { if (!changed_htlc(channel, &changed[i])) { channel_internal_error(channel,