[ovs-dev] [PATCH ovn] ovn-controller: Fix memleak in lflow_add_flows_for_datapath.

Dumitru Ceara dceara at redhat.com
Thu Jun 25 19:39:00 UTC 2020


Valgrind report:
==5516== 51,200 (29,600 direct, 21,600 indirect) bytes in 100 blocks are
definitely lost in loss record 1,495 of 1,510
==5516==    at 0x4C2BF79: calloc (vg_replace_malloc.c:762)
==5516==    by 0x51ABA9: xcalloc (util.c:121)
==5516==    by 0x51ABF2: xzalloc (util.c:132)
==5516==    by 0x4F76CD: ovsdb_idl_index_init_row (ovsdb-idl.c:3031)
==5516==    by 0x46188B: sbrec_logical_flow_index_init_row (ovn-sb-idl.c:15955)
==5516==    by 0x412937: lflow_add_flows_for_datapath (lflow.c:898)
==5516==    by 0x42DD5E: flow_output_runtime_data_handler (ovn-controller.c:2019)
==5516==    by 0x44F9DA: engine_compute (inc-proc-eng.c:306)
==5516==    by 0x44FB75: engine_run_node (inc-proc-eng.c:352)
==5516==    by 0x44FC02: engine_run (inc-proc-eng.c:377)
==5516==    by 0x42F56E: main (ovn-controller.c:2402)

CC: Numan Siddique <numans at ovn.org>
CC: Venkata Anil <anilvenkata at redhat.com>
Fixes: ade4e779d3fb ("ovn-controller: Use the tracked runtime data changes for flow calculation.")
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
---
 controller/lflow.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/controller/lflow.c b/controller/lflow.c
index 15f1a6a..c850a0d 100644
--- a/controller/lflow.c
+++ b/controller/lflow.c
@@ -912,6 +912,7 @@ lflow_add_flows_for_datapath(const struct sbrec_datapath_binding *dp,
             break;
         }
     }
+    sbrec_logical_flow_index_destroy_row(lf_row);
 
     dhcp_opts_destroy(&dhcp_opts);
     dhcp_opts_destroy(&dhcpv6_opts);
-- 
1.8.3.1



More information about the dev mailing list