On Tue, Apr 02, 2013 at 06:11:17PM -0400, Dan Walsh wrote:
Signed-off-by: Dan Walsh <dwalsh(a)redhat.com>
---
bin/virt-sandbox-service-util.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/bin/virt-sandbox-service-util.c b/bin/virt-sandbox-service-util.c
index 4d164d8..430518f 100644
--- a/bin/virt-sandbox-service-util.c
+++ b/bin/virt-sandbox-service-util.c
@@ -194,8 +194,8 @@ static int set_process_label(pid_t pid) {
static int container_execute( GVirSandboxContext *ctx, const gchar *command, pid_t pid )
{
int ret = EXIT_FAILURE;
- char **argv;
- int argc;
+ char **argv = NULL;
+ int argc=-1;
if (set_process_label(pid) < 0)
goto cleanup;
@@ -227,6 +227,10 @@ static int container_execute( GVirSandboxContext *ctx, const gchar
*command, pid
}
cleanup:
+ if (argc > -1)
+ free(argv[0]);
This is still leaking all except for the first argv element. You need
to free all elements.
+ free(argv);
+
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|