test-ovsdb: Fix memory leak reported by valgrind.
authorWilliam Tu <u9012063@gmail.com>
Wed, 6 Jan 2016 18:49:38 +0000 (10:49 -0800)
committerBen Pfaff <blp@ovn.org>
Mon, 11 Jan 2016 17:01:59 +0000 (09:01 -0800)
Test case 1205: generate and apply diff -- set -- size (ovsdb-data.at:827)
Call stack:
    ovsdb_error_valist (ovsdb-error.c:40)
    ovsdb_error (ovsdb-error.c:55)
    do_diff_data (test-ovsdb.c:427)
    ovs_cmdl_run_command (command-line.c:121)
    main (test-ovsdb.c:72)
Fix by calling ovsdb_error_destroy() before ovs_fatal()

Signed-off-by: William Tu <u9012063@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
tests/test-ovsdb.c

index 0ce8f9d..dbd51f2 100644 (file)
@@ -426,7 +426,9 @@ do_diff_data(struct ovs_cmdl_context *ctx)
         /* Apply diff to 'old' to create'reincarnation'. */
         error = ovsdb_datum_apply_diff(&reincarnation, &old, &diff, &type);
         if (error) {
-            ovs_fatal(0, "%s", ovsdb_error_to_string(error));
+            char *string = ovsdb_error_to_string(error);
+            ovsdb_error_destroy(error);
+            ovs_fatal(0, "%s", string);
         }
 
         /* Test to make sure 'new' equals 'reincarnation'.  */