Fix crash that #127 intended to fix but did not completely fix

Introduced in #124, and found by fuzzer
This commit is contained in:
Matt Corallo 2018-08-30 12:35:52 -04:00
parent a1aaea5dc2
commit 794212bb23

View file

@ -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;
}