From: Christophe Fergeau Date: Thu, 17 Oct 2013 13:48:33 +0000 (+0200) Subject: netcf: Don't complain when cleanup is called before init X-Git-Tag: CVE-2013-4401~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68eb3709a1fc6f1965173aceba4b16f50cdec9e5;p=thirdparty%2Flibvirt.git netcf: Don't complain when cleanup is called before init netcfStateInitialize() initializes the driverState variable, and when netcfStateCleanup is called, it will call virReportError() if driverState is NULL. This is not consistent with what other state objects are doing, they return -1 without reporting an error in such cases. See also https://www.redhat.com/archives/libvir-list/2013-October/msg00809.html: On Thu, Oct 17, 2013 at 01:40:19PM +0100, Daniel P. Berrange wrote: > We don't want virStateCleanup to skip execution if virStateInitialize > has failed though - every callback in virStateCleanup should be written > to be safe if its corresponding init function hasn't run. --- diff --git a/src/interface/interface_backend_netcf.c b/src/interface/interface_backend_netcf.c index fac059defb..c4e18c4ebb 100644 --- a/src/interface/interface_backend_netcf.c +++ b/src/interface/interface_backend_netcf.c @@ -100,11 +100,8 @@ netcfStateInitialize(bool privileged ATTRIBUTE_UNUSED, static int netcfStateCleanup(void) { - if (!driverState) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("Attempt to close netcf state driver already closed")); + if (!driverState) return -1; - } if (virObjectUnref(driverState)) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s",