From 794212bb236b40b0ac33bffc7dbcdca45f4f626f Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 30 Aug 2018 12:35:52 -0400 Subject: [PATCH] Fix crash that #127 intended to fix but did not completely fix Introduced in #124, and found by fuzzer --- src/ln/channel.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ln/channel.rs b/src/ln/channel.rs index f890f0396..14a5589e7 100644 --- a/src/ln/channel.rs +++ b/src/ln/channel.rs @@ -1133,9 +1133,6 @@ impl Channel { let mut htlc_amount_msat = 0; for htlc in self.pending_htlcs.iter_mut() { if !htlc.outbound && htlc.payment_hash == *payment_hash_arg { - if htlc_id != 0 { - panic!("Duplicate HTLC payment_hash, you probably re-used payment preimages, NEVER DO THIS!"); - } if htlc.state == HTLCState::Committed { htlc.state = HTLCState::LocalRemoved; } else if htlc.state == HTLCState::RemoteAnnounced { @@ -1152,6 +1149,9 @@ impl Channel { } else { panic!("Have an inbound HTLC when not awaiting remote revoke that had a garbage state"); } + if htlc_id != 0 { + panic!("Duplicate HTLC payment_hash, you probably re-used payment preimages, NEVER DO THIS!"); + } htlc_id = htlc.htlc_id; htlc_amount_msat += htlc.amount_msat; } -- 2.39.5