Skip to content

Commit d3a41bf

Browse files
committed
lightningd: free strmap of commands on shutdown.
Indirect leak of 48 byte(s) in 1 object(s) allocated from: #0 0x7f4c84ce4448 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10c448) #1 0x55d11b77d270 in strmap_add_ ccan/ccan/strmap/strmap.c:90 #2 0x55d11b704603 in command_set_usage lightningd/jsonrpc.c:891 #3 0x55d11b733cb5 in param common/param.c:295 #4 0x55d11b6f7b37 in json_connect lightningd/connect_control.c:96 #5 0x55d11b7042ef in setup_command_usage lightningd/jsonrpc.c:841 #6 0x55d11b70443b in jsonrpc_command_add_perm lightningd/jsonrpc.c:863 #7 0x55d11b704533 in jsonrpc_setup lightningd/jsonrpc.c:876 #8 0x55d11b705695 in new_lightningd lightningd/lightningd.c:210 #9 0x55d11b706062 in main lightningd/lightningd.c:644 #10 0x7f4c84696b6a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26b6a) Signed-off-by: Rusty Russell <[email protected]>
1 parent 96a018b commit d3a41bf

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

lightningd/jsonrpc.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -876,6 +876,11 @@ static bool jsonrpc_command_add_perm(struct lightningd *ld,
876876
return true;
877877
}
878878

879+
static void destroy_jsonrpc(struct jsonrpc *jsonrpc)
880+
{
881+
strmap_clear(&jsonrpc->usagemap);
882+
}
883+
879884
void jsonrpc_setup(struct lightningd *ld)
880885
{
881886
struct json_command **commands = get_cmdlist();
@@ -890,6 +895,7 @@ void jsonrpc_setup(struct lightningd *ld)
890895
commands[i]->name);
891896
}
892897
ld->jsonrpc->rpc_listener = NULL;
898+
tal_add_destructor(ld->jsonrpc, destroy_jsonrpc);
893899
}
894900

895901
bool command_usage_only(const struct command *cmd)

0 commit comments

Comments
 (0)