From: Ryota Ozaki Date: Sat, 26 Jun 2010 20:59:59 +0000 (+0900) Subject: lxc: Fix error handlings in lxcContainerRenameAndEnableInterfaces X-Git-Tag: v0.8.2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df8225ac542046d4d9864bcbd547530a491d8e94;p=thirdparty%2Flibvirt.git lxc: Fix error handlings in lxcContainerRenameAndEnableInterfaces The function is expected to return negative value on failure, however, it returns positive value when either setInterfaceName or vethInterfaceUpOrDown fails. Because the function returns the return value of either as is, however, the two functions may return positive value on failure. The patch fixes the defects and add error messages. --- diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index 018f4d5ccb..4371dba3ce 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -255,13 +255,20 @@ static int lxcContainerRenameAndEnableInterfaces(unsigned int nveths, DEBUG("Renaming %s to %s", veths[i], newname); rc = setInterfaceName(veths[i], newname); - if (0 != rc) + if (0 != rc) { + VIR_ERROR(_("Failed to rename %s to %s (%d)"), + veths[i], newname, rc); + rc = -1; goto error_out; + } DEBUG("Enabling %s", newname); - rc = vethInterfaceUpOrDown(newname, 1); - if (0 != rc) + rc = vethInterfaceUpOrDown(newname, 1); + if (0 != rc) { + VIR_ERROR(_("Failed to enable %s (%d)"), newname, rc); + rc = -1; goto error_out; + } VIR_FREE(newname); }