mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 21:35:11 +01:00
peer_control: fix opening fundee leaks.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
4957921e02
commit
adf8740b96
@ -2264,6 +2264,7 @@ static void opening_fundee_finished(struct subd *opening,
|
||||
u64 gossip_index;
|
||||
secp256k1_ecdsa_signature remote_commit_sig;
|
||||
struct bitcoin_tx *remote_commit;
|
||||
const tal_t *tmpctx = tal_tmpctx(peer);
|
||||
|
||||
log_debug(peer->log, "Got opening_fundee_finish_response");
|
||||
assert(tal_count(fds) == 2);
|
||||
@ -2276,7 +2277,7 @@ static void opening_fundee_finished(struct subd *opening,
|
||||
peer->channel_info->their_config.id = 0;
|
||||
|
||||
peer->funding_txid = tal(peer, struct sha256_double);
|
||||
if (!fromwire_opening_fundee_reply(peer, reply, NULL,
|
||||
if (!fromwire_opening_fundee_reply(tmpctx, reply, NULL,
|
||||
&channel_info->their_config,
|
||||
remote_commit,
|
||||
&remote_commit_sig,
|
||||
@ -2297,6 +2298,7 @@ static void opening_fundee_finished(struct subd *opening,
|
||||
&funding_signed)) {
|
||||
peer_internal_error(peer, "bad OPENING_FUNDEE_REPLY %s",
|
||||
tal_hex(reply, reply));
|
||||
tal_free(tmpctx);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2310,8 +2312,10 @@ static void opening_fundee_finished(struct subd *opening,
|
||||
/* Now, keep the initial commit as our last-tx-to-broadcast. */
|
||||
peer_last_tx(peer, remote_commit, &remote_commit_sig);
|
||||
|
||||
if (!peer_commit_initial(peer))
|
||||
if (!peer_commit_initial(peer)) {
|
||||
tal_free(tmpctx);
|
||||
return;
|
||||
}
|
||||
|
||||
log_debug(peer->log, "Watching funding tx %s",
|
||||
type_to_string(reply, struct sha256_double,
|
||||
@ -2330,6 +2334,7 @@ static void opening_fundee_finished(struct subd *opening,
|
||||
peer_start_channeld(peer, &cs, gossip_index,
|
||||
fds[0], fds[1], funding_signed, false);
|
||||
peer_set_condition(peer, OPENINGD, CHANNELD_AWAITING_LOCKIN);
|
||||
tal_free(tmpctx);
|
||||
}
|
||||
|
||||
/* Negotiation failed, but we can keep gossipping */
|
||||
|
Loading…
Reference in New Issue
Block a user