From dc745cdf2f78eca34018d55b8656b55e3aebf2a6 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 3 Dec 2020 11:55:21 +1030 Subject: [PATCH] peer_htlcs.c: close taken() leak. Found in tests/test_connection.py::test_restart_many_payments: `lightningd: outstanding taken(): lightningd/peer_htlcs.c:532:towire_temporary_channel_failure(((void *)0), ((void *)0))` Signed-off-by: Rusty Russell --- lightningd/peer_htlcs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 9ce592c8a..7ab4cbed8 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -324,6 +324,9 @@ static void fail_out_htlc(struct htlc_out *hout, hout->failmsg); fail_in_htlc(hout->in, failonion); } + } else { + if (taken(failmsg_needs_update)) + tal_free(failmsg_needs_update); } }