From 6d4163a03e89beeabc9c843851ea7ffcae2b11fc Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Jul 27 2018 12:32:36 +0000 Subject: lxc: Don't return early in virLXCProcessSetupInterfaces There are two places in the loop body that just return instead of jumping onto the cleanup label. The problem is the cleanup code is not ran in those cases. Signed-off-by: Michal Privoznik --- diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index d021a89..442756a 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -544,7 +544,7 @@ static int virLXCProcessSetupInterfaces(virConnectPtr conn, net = def->nets[i]; if (virLXCProcessValidateInterface(net) < 0) - return -1; + goto cleanup; if (virDomainNetAllocateActualDevice(def, net) < 0) goto cleanup; @@ -612,7 +612,7 @@ static int virLXCProcessSetupInterfaces(virConnectPtr conn, /* Make sure all net definitions will have a name in the container */ if (!net->ifname_guest) { if (virAsprintf(&net->ifname_guest, "eth%zu", niface) < 0) - return -1; + goto cleanup; niface++; } }