]> xenbits.xensource.com Git - libvirt.git/commitdiff
lxc: Fix memory leak in virLXCControllerPopulateDevices
authorJohn Ferlan <jferlan@redhat.com>
Tue, 16 Jun 2020 12:07:04 +0000 (08:07 -0400)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 16 Jun 2020 13:01:06 +0000 (15:01 +0200)
Since 5b82f7f3, @path should have been placed inside the for loop
since it'd need to be free'd for each pass through the loop; otherwise,
we'd leak like a sieve.

Found by Coverity.

Signed-off-by: John Ferlan <jferlan@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/lxc/lxc_controller.c

index 467292057435f570e3bb8e634e1f40bfcdc272e2..734ac73210fa33f9330004f6a231f3fd4c57f83a 100644 (file)
@@ -1474,7 +1474,6 @@ static int virLXCControllerSetupDev(virLXCControllerPtr ctrl)
 static int virLXCControllerPopulateDevices(virLXCControllerPtr ctrl)
 {
     size_t i;
-    g_autofree char *path = NULL;
     const struct {
         int maj;
         int min;
@@ -1494,6 +1493,8 @@ static int virLXCControllerPopulateDevices(virLXCControllerPtr ctrl)
 
     /* Populate /dev/ with a few important bits */
     for (i = 0; i < G_N_ELEMENTS(devs); i++) {
+        g_autofree char *path = NULL;
+
         path = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name,
                                devs[i].path);