Message ID | 20201119194006.1847392-1-i.maximets@ovn.org |
---|---|
State | Superseded |
Headers | show |
Series | [ovs-dev] northd: Fix leaks of strings while formatting ecmp flows. | expand |
On 11/19/20 8:40 PM, Ilya Maximets wrote: > Result of 'normalize_v46_prefix()' should be freed and all dynamic > strings should be destroyed. > > Direct leak of 156 byte(s) in 13 object(s) allocated from: > #0 0x53700f in malloc (northd/ovn-northd+0x53700f) > #1 0x71b146 in xmalloc ovs/lib/util.c:138:15 > #2 0x71b39a in xvasprintf ovs/lib/util.c:202:9 > #3 0x71b753 in xasprintf ovs/lib/util.c:343:9 > #4 0x59bddc in add_ecmp_symmetric_reply_flows northd/ovn-northd.c:7985:18 > #5 0x59aab5 in build_ecmp_route_flow northd/ovn-northd.c:8102:13 > #6 0x592260 in build_static_route_flows_for_lrouter ovn-northd.c:10243:13 > #7 0x589267 in build_lswitch_and_lrouter_iterate_by_od ovn-northd.c:11241:5 > #8 0x5888ca in build_lswitch_and_lrouter_flows northd/ovn-northd.c:11313:9 > #9 0x5730a0 in build_lflows northd/ovn-northd.c:11401:5 > #10 0x56f992 in ovnnb_db_run northd/ovn-northd.c:12339:5 > #11 0x56e8a7 in ovn_db_run northd/ovn-northd.c:12932:5 > #12 0x56d6af in main northd/ovn-northd.c:13338:17 > #13 0x7f5371d041a2 in __libc_start_main (/lib64/libc.so.6+0x271a2) > > Fixes: 4fdca656857d ("Add ECMP symmetric replies.") > Signed-off-by: Ilya Maximets <i.maximets@ovn.org> > --- Please, ignore this one. Re-sent as part of a patch-set: https://patchwork.ozlabs.org/project/ovn/list/?series=215674 Best regards, Ilya Maximets.
diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c index 148d2a051..1d41aacc6 100644 --- a/northd/ovn-northd.c +++ b/northd/ovn-northd.c @@ -7971,6 +7971,7 @@ add_ecmp_symmetric_reply_flows(struct hmap *lflows, IN6_IS_ADDR_V4MAPPED(&route->prefix) ? "4" : "6", route->is_src_route ? "dst" : "src", cidr); + free(cidr); ovn_lflow_add_with_hint(lflows, od, S_ROUTER_IN_DEFRAG, 100, ds_cstr(&match), "ct_next;", &st_route->header_); @@ -8022,6 +8023,10 @@ add_ecmp_symmetric_reply_flows(struct hmap *lflows, ovn_lflow_add_with_hint(lflows, od, S_ROUTER_IN_ARP_RESOLVE, 200, ds_cstr(&ecmp_reply), action, &st_route->header_); + + ds_destroy(&match); + ds_destroy(&actions); + ds_destroy(&ecmp_reply); } static void
Result of 'normalize_v46_prefix()' should be freed and all dynamic strings should be destroyed. Direct leak of 156 byte(s) in 13 object(s) allocated from: #0 0x53700f in malloc (northd/ovn-northd+0x53700f) #1 0x71b146 in xmalloc ovs/lib/util.c:138:15 #2 0x71b39a in xvasprintf ovs/lib/util.c:202:9 #3 0x71b753 in xasprintf ovs/lib/util.c:343:9 #4 0x59bddc in add_ecmp_symmetric_reply_flows northd/ovn-northd.c:7985:18 #5 0x59aab5 in build_ecmp_route_flow northd/ovn-northd.c:8102:13 #6 0x592260 in build_static_route_flows_for_lrouter ovn-northd.c:10243:13 #7 0x589267 in build_lswitch_and_lrouter_iterate_by_od ovn-northd.c:11241:5 #8 0x5888ca in build_lswitch_and_lrouter_flows northd/ovn-northd.c:11313:9 #9 0x5730a0 in build_lflows northd/ovn-northd.c:11401:5 #10 0x56f992 in ovnnb_db_run northd/ovn-northd.c:12339:5 #11 0x56e8a7 in ovn_db_run northd/ovn-northd.c:12932:5 #12 0x56d6af in main northd/ovn-northd.c:13338:17 #13 0x7f5371d041a2 in __libc_start_main (/lib64/libc.so.6+0x271a2) Fixes: 4fdca656857d ("Add ECMP symmetric replies.") Signed-off-by: Ilya Maximets <i.maximets@ovn.org> --- northd/ovn-northd.c | 5 +++++ 1 file changed, 5 insertions(+)