[ovs-dev] [PATCH] ovsdb-client: fix monitored table memory leak

Andy Zhou azhou at ovn.org
Thu Jan 7 21:58:13 UTC 2016


Properly free memory used monitored_tables to reduce valgrind noises.

Reported-by: William Tu <u9012063 at gmail.com>
Reported-at: http://openvswitch.org/pipermail/dev/2016-January/064161.html
Signed-off-by: Andy Zhou <azhou at ovn.org>
---
 ovsdb/ovsdb-client.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c
index 8c48338..c00f607 100644
--- a/ovsdb/ovsdb-client.c
+++ b/ovsdb/ovsdb-client.c
@@ -879,6 +879,19 @@ add_monitored_table(int argc, char *argv[],
 }
 
 static void
+destroy_monitored_table(struct monitored_table *mts, size_t n)
+{
+    int i;
+
+    for (i = 0; i < n; i++) {
+        struct monitored_table *mt = &mts[i];
+        ovsdb_column_set_destroy(&mt->columns);
+    }
+
+    free(mts);
+}
+
+static void
 do_monitor__(struct jsonrpc *rpc, const char *database,
              enum ovsdb_monitor_version version,
              int argc, char *argv[])
@@ -1024,6 +1037,8 @@ do_monitor__(struct jsonrpc *rpc, const char *database,
         unixctl_server_wait(unixctl);
         poll_block();
     }
+
+    destroy_monitored_table(mts, n_mts);
 }
 
 static void
-- 
1.9.1




More information about the dev mailing list