On Tue, Oct 31, 2017 at 10:52:09AM -0700, Yifeng Sun wrote: > Valgrind testcase 1465 (integer atom enum from string) reports the leak below: > 16 bytes in 1 blocks are definitely lost in loss record 2 of 5 > at 0x4C2DB8F: malloc (in > /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) > by 0x43F5F4: xmalloc (util.c:120) > by 0x424AC6: alloc_default_atoms (ovsdb-data.c:315) > by 0x4271E0: ovsdb_atom_from_string__ (ovsdb-data.c:508) > by 0x4271E0: ovsdb_atom_from_string (ovsdb-data.c:632) > by 0x40ADCC: do_parse_atom_strings (test-ovsdb.c:566) > by 0x41BA73: ovs_cmdl_run_command__ (command-line.c:115) > by 0x4051C9: main (test-ovsdb.c:72) > > range_end_atom is allocated in ovsdb_atom_from_string__() and no one is > holding a reference to it at the end of do_parse_atom_strings(). It should be > freed here, as also pointed out by ovsdb_atom_destroy(). > > v1->v2: Amend comments. > v2->v3: Fix error in patch. > > Signed-off-by: Yifeng Sun <pkusunyif...@gmail.com> > --- > tests/test-ovsdb.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c > index 451172cdcc34..b5147fc055e3 100644 > --- a/tests/test-ovsdb.c > +++ b/tests/test-ovsdb.c > @@ -582,6 +582,7 @@ do_parse_atom_strings(struct ovs_cmdl_context *ctx) > ovsdb_atom_destroy(&atom, base.type); > if (range_end_atom) { > ovsdb_atom_destroy(range_end_atom, base.type); > + free(range_end_atom); > } > }
Thanks! I'll apply this to master in a minute. The patch adds a tab for indentation. We only use spaces, so I fixed that. Thanks, Ben. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev