From: John Ferlan Date: Tue, 16 Jun 2020 12:07:04 +0000 (-0400) Subject: lxc: Fix memory leak in virLXCControllerPopulateDevices X-Git-Tag: v6.5.0-rc1~171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=52e3c2b4801c4ef3d8be5c1398de1884e93a1f52;p=thirdparty%2Flibvirt.git lxc: Fix memory leak in virLXCControllerPopulateDevices 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 Reviewed-by: Peter Krempa --- diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 4672920574..734ac73210 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -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);