From: Michael Tremer Date: Wed, 6 Mar 2024 22:44:29 +0000 (+0000) Subject: tree: Fix memory leak in dedup code X-Git-Tag: 0.9.18~102 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9153d1e7f72f99010035d54f5f2e80647cd5194c;p=location%2Flibloc.git tree: Fix memory leak in dedup code Signed-off-by: Michael Tremer --- diff --git a/src/network-tree.c b/src/network-tree.c index e26b125..4359308 100644 --- a/src/network-tree.c +++ b/src/network-tree.c @@ -506,7 +506,7 @@ static int loc_network_tree_dedup_step(struct loc_network* network, void* data) if (loc_network_properties_cmp(n, network) == 0) { r = loc_network_tree_delete_network(ctx->tree, network); if (r) - return r; + goto END; // Count (*ctx->removed)++; @@ -518,6 +518,9 @@ static int loc_network_tree_dedup_step(struct loc_network* network, void* data) // Once we found a subnet, we are done break; } + + loc_network_unref(n); + n = NULL; } // If network did not get removed, we push it into the stack