diff mbox

[ovs-dev,2/2] ovsdb-client: fix memory leak reported by valgrind

Message ID 1452210789-23370-2-git-send-email-u9012063@gmail.com
State Accepted
Headers show

Commit Message

William Tu Jan. 7, 2016, 11:53 p.m. UTC
testc ase 1427: ovsdb-server combines updates on backlogged connections.
valgrind reports two leaks:
    unixctl_server_create (unixctl.c:250)
    do_monitor__ (ovsdb-client.c:918)
and
    json_create (json.c:1406)
    json_integer_create (json.c:262)
    json_clone (json.c:413)
    do_monitor__ (ovsdb-client.c:958)

Signed-off-by: William Tu <u9012063@gmail.com>
---
 ovsdb/ovsdb-client.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Andy Zhou Jan. 9, 2016, 12:44 a.m. UTC | #1
On Thu, Jan 7, 2016 at 3:53 PM, William Tu <u9012063@gmail.com> wrote:

> testc ase 1427: ovsdb-server combines updates on backlogged connections.
> valgrind reports two leaks:
>     unixctl_server_create (unixctl.c:250)
>     do_monitor__ (ovsdb-client.c:918)
> and
>     json_create (json.c:1406)
>     json_integer_create (json.c:262)
>     json_clone (json.c:413)
>     do_monitor__ (ovsdb-client.c:958)
>
> Signed-off-by: William Tu <u9012063@gmail.com>
>

 Acked-by: Andy Zhou <azhou@ovn.org>
Ben Pfaff Jan. 11, 2016, 5:07 p.m. UTC | #2
On Thu, Jan 07, 2016 at 03:53:09PM -0800, William Tu wrote:
> testc ase 1427: ovsdb-server combines updates on backlogged connections.
> valgrind reports two leaks:
>     unixctl_server_create (unixctl.c:250)
>     do_monitor__ (ovsdb-client.c:918)
> and
>     json_create (json.c:1406)
>     json_integer_create (json.c:262)
>     json_clone (json.c:413)
>     do_monitor__ (ovsdb-client.c:958)
> 
> Signed-off-by: William Tu <u9012063@gmail.com>

Thanks, applied to master!
diff mbox

Patch

diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c
index 7a33ef8..06155ec 100644
--- a/ovsdb/ovsdb-client.c
+++ b/ovsdb/ovsdb-client.c
@@ -1037,6 +1037,9 @@  do_monitor__(struct jsonrpc *rpc, const char *database,
         unixctl_server_wait(unixctl);
         poll_block();
     }
+
+    json_destroy(request_id);
+    unixctl_server_destroy(unixctl);
     ovsdb_schema_destroy(schema);
     destroy_monitored_table(mts, n_mts);
 }