From dbc77bcbc485a62dc74a26951608f268a8255833 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 22 Mar 2022 09:55:15 +1030 Subject: [PATCH] pay: fix leak detect on shadow route. Short term leak, but leak-detect is right: it's dumb code! Signed-off-by: Rusty Russell ``` plugin-pay: MEMLEAK: 0x2505318 plugin-pay: label=common/utils.c:134:char[] plugin-pay: backtrace: plugin-pay: ccan/ccan/tal/tal.c:442 (tal_alloc_) plugin-pay: ccan/ccan/tal/tal.c:471 (tal_alloc_arr_) plugin-pay: common/utils.c:134 (tal_hexstr) plugin-pay: common/node_id.c:48 (node_id_to_hexstr) plugin-pay: common/node_id.c:50 (fmt_node_id_) plugin-pay: common/type_to_string.c:32 (type_to_string_) plugin-pay: plugins/libplugin-pay.c:2970 (shadow_route_extend) plugin-pay: plugins/libplugin-pay.c:3113 (shadow_route_listchannels) plugin-pay: plugins/libplugin.c:563 (handle_rpc_reply) plugin-pay: plugins/libplugin.c:731 (rpc_read_response_one) plugin-pay: plugins/libplugin.c:751 (rpc_conn_read_response) plugin-pay: ccan/ccan/io/io.c:59 (next_plan) plugin-pay: ccan/ccan/io/io.c:407 (do_plan) plugin-pay: ccan/ccan/io/io.c:417 (io_ready) plugin-pay: ccan/ccan/io/poll.c:453 (io_loop) plugin-pay: plugins/libplugin.c:1565 (plugin_main) plugin-pay: plugins/pay.c:2569 (main) plugin-pay: parents: plugin-pay: plugins/libplugin.c:155:struct out_req ``` --- plugins/libplugin-pay.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/libplugin-pay.c b/plugins/libplugin-pay.c index dafa5b766..f3f9d496d 100644 --- a/plugins/libplugin-pay.c +++ b/plugins/libplugin-pay.c @@ -2966,8 +2966,7 @@ static struct command_result *shadow_route_extend(struct shadow_route_data *d, req = jsonrpc_request_start(p->plugin, NULL, "listchannels", shadow_route_listchannels, payment_rpc_failure, p); - json_add_string(req->js, "source", - type_to_string(req, struct node_id, &d->destination)); + json_add_node_id(req->js, "source", &d->destination); return send_outreq(p->plugin, req); }