Dynamic strings that backs 'match' and 'actions' are never destroyed
and leaked on every lflow re-build cycle.
28,224 bytes in 126 blocks are definitely lost in loss record 494 of 498
at 0x483BD19: realloc (vg_replace_malloc.c:834)
by 0x4AEF14: xrealloc (util.c:149)
by 0x465533: ds_reserve (dynamic-string.c:63)
by 0x46587B: ds_put_format_valist (dynamic-string.c:161)
by 0x465956: ds_put_format (dynamic-string.c:142)
by 0x42187F: build_ipv6_input_flows_for_lrouter_port (ovn-northd.c:11188)
by 0x42187F: build_lswitch_and_lrouter_iterate_by_op (ovn-northd.c:11279)
by 0x42187F: build_lswitch_and_lrouter_flows.constprop.0
(ovn-northd.c:11316)
by 0x422503: build_lflows (ovn-northd.c:11398)
by 0x42478D: ovnnb_db_run (ovn-northd.c:12334)
by 0x42478D: ovn_db_run (ovn-northd.c:12927)
by 0x408E84: main (ovn-northd.c:13333)
Fixes: ddf9f1d71319 ("ovn-northd: reorganize processing of lflows")
Signed-off-by: Ilya Maximets <[email protected]>
---
northd/ovn-northd.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
index 8ce756c8a..148d2a051 100644
--- a/northd/ovn-northd.c
+++ b/northd/ovn-northd.c
@@ -11296,6 +11296,9 @@ build_lswitch_and_lrouter_flows(struct hmap *datapaths,
struct hmap *ports,
}
free(svc_check_match);
+ ds_destroy(&lsi.match);
+ ds_destroy(&lsi.actions);
+
/* Legacy lswitch build - to be migrated. */
build_lswitch_flows(datapaths, ports, lflows, mcgroups,
igmp_groups, lbs);
--
2.25.4
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev