From: Osier Yang Date: Tue, 20 Aug 2013 15:28:28 +0000 (+0800) Subject: storage: Fix coverity warning X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b8a0103d45e8f82a6f66f3334b24d6deb99d7521;p=libvirt.git storage: Fix coverity warning Introduced by commit e0139e30444: 1777 /* Updating pool metadata */ (40) Event var_deref_op: Dereferencing null pointer "newvol". Also see events: [assign_zero] 1778 pool->def->allocation += newvol->allocation; 1779 pool->def->available -= newvol->allocation; --- diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 7908ba669b..58d0fc0d41 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1635,6 +1635,7 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, virStorageBackendPtr backend; virStorageVolDefPtr origvol = NULL, newvol = NULL; virStorageVolPtr ret = NULL, volobj = NULL; + unsigned long long allocation; int buildret; virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA, NULL); @@ -1758,6 +1759,7 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, origvol->building = 0; newvol->building = 0; + allocation = newvol->allocation; newvol = NULL; pool->asyncjobs--; @@ -1775,8 +1777,8 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, } /* Updating pool metadata */ - pool->def->allocation += newvol->allocation; - pool->def->available -= newvol->allocation; + pool->def->allocation += allocation; + pool->def->available -= allocation; VIR_INFO("Creating volume '%s' in storage pool '%s'", volobj->name, pool->def->name);