diff --git a/lightningd/channel.c b/lightningd/channel.c index 1dc53c578..2e12417f2 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -246,6 +246,11 @@ struct channel *new_unsaved_channel(struct peer *peer, /* closer not yet known */ channel->closer = NUM_SIDES; channel->close_blockheight = NULL; + /* In case someone looks at channels before open negotiation, + * initialize this with default */ + channel->type = default_channel_type(channel, + ld->our_features, + peer->their_features); /* BOLT-7b04b1461739c5036add61782d58ac490842d98b #9 * | 222/223 | `option_dual_fund` diff --git a/lightningd/dual_open_control.c b/lightningd/dual_open_control.c index 9a81f19c5..02ff05e75 100644 --- a/lightningd/dual_open_control.c +++ b/lightningd/dual_open_control.c @@ -1273,6 +1273,7 @@ wallet_commit_channel(struct lightningd *ld, } else channel->scb = NULL; + tal_free(channel->type); channel->type = channel_type_dup(channel, type); channel->scb->type = channel_type_dup(channel->scb, type);