From 675816490417d5df384641f0e69beea531e094de Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 21 Sep 2021 13:35:00 +0930 Subject: [PATCH] lightningd: fix memleak false positive. ``` E - Node /tmp/ltests-uf2g_5gd/test_sendinvoice_obsolete_1/lightning-1/ has memory leaks: [ E { E "backtrace": [ E "ccan/ccan/tal/tal.c:442 (tal_alloc_)", E "ccan/ccan/tal/tal.c:471 (tal_alloc_arr_)", E "ccan/ccan/tal/str/str.c:91 (tal_vfmt_)", E "ccan/ccan/tal/str/str.c:44 (tal_fmt_)", E "common/wireaddr.c:232 (fmt_wireaddr_without_port)", E "common/wireaddr.c:251 (fmt_wireaddr)", E "common/wireaddr.c:208 (fmt_wireaddr_internal)", E "common/wireaddr.c:221 (fmt_wireaddr_internal_)", E "common/type_to_string.c:32 (type_to_string_)", E "lightningd/peer_control.c:1433 (json_add_peer)", E "lightningd/peer_control.c:1481 (json_listpeers)", E "lightningd/jsonrpc.c:627 (command_exec)", E "lightningd/jsonrpc.c:762 (rpc_command_hook_final)", E "lightningd/plugin_hook.c:274 (plugin_hook_call_)", E "lightningd/jsonrpc.c:850 (plugin_hook_call_rpc_command)", E "lightningd/jsonrpc.c:949 (parse_request)", E "lightningd/jsonrpc.c:1040 (read_json)", E "ccan/ccan/io/io.c:59 (next_plan)", E "ccan/ccan/io/io.c:435 (io_do_always)", E "ccan/ccan/io/poll.c:300 (handle_always)", E "ccan/ccan/io/poll.c:377 (io_loop)", E "lightningd/io_loop_with_timers.c:21 (io_loop_with_timers)", E "lightningd/lightningd.c:1112 (main)" E ], E "label": "common/wireaddr.c:232:char[]", E "parents": [ E "common/json_stream.c:22:struct json_stream", E "ccan/ccan/io/io.c:91:struct io_conn", E "lightningd/lightningd.c:103:struct lightningd" E ], E "value": "0x56041b322a48" E } E ] ``` Signed-off-by: Rusty Russell --- lightningd/peer_control.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index 0be6ae8fd..72b4c8f18 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -1431,7 +1431,7 @@ static void json_add_peer(struct lightningd *ld, if (connected) { json_array_start(response, "netaddr"); json_add_string(response, NULL, - type_to_string(response, + type_to_string(tmpctx, struct wireaddr_internal, &p->addr)); json_array_end(response);