From 13f0065dd0618cbabcb3267caae8efd1a2a53baa Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Tue, 14 Apr 2015 10:01:49 +0200 Subject: [PATCH] CID 54766: Resource leak (RESOURCE_LEAK). Variable original_argv going out of scope leaks the storage it points to. --- test/shell-test.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/shell-test.c b/test/shell-test.c index d1dc5b5..87aa682 100644 --- a/test/shell-test.c +++ b/test/shell-test.c @@ -52,6 +52,7 @@ test_command_line (const char *arg1, ...) if (!_dbus_shell_parse_argv (command_line, &shell_argc, &shell_argv, &error)) { fprintf (stderr, "Error parsing command line: %s\n", error.message ? error.message : ""); + dbus_free (original_argv); return FALSE; } else @@ -60,6 +61,7 @@ test_command_line (const char *arg1, ...) { printf ("Number of arguments returned (%d) don't match original (%d)\n", shell_argc, original_argc); + dbus_free (original_argv); return FALSE; } printf ("Number of arguments: %d\n", shell_argc); @@ -74,6 +76,7 @@ test_command_line (const char *arg1, ...) printf ("Position %d, returned argument (%s) does not match original (%s)\n", i, shell_argv[i], unquoted); dbus_free (unquoted); + dbus_free (original_argv); return FALSE; } dbus_free (unquoted); @@ -85,7 +88,8 @@ test_command_line (const char *arg1, ...) } _dbus_string_free (&str); - + dbus_free (original_argv); + return TRUE; } -- 1.8.4.5