File libvirt-storage-Fix-coverity-warning.patch of Package libvirt

From 9fb1c4a5c8049a2c64608af18442ab2157ec8109 Mon Sep 17 00:00:00 2001
Message-Id: <9fb1c4a5c8049a2c64608af18442ab2157ec8109.1377097597.git.jdenemar@redhat.com>
From: Osier Yang <jyang@redhat.com>
Date: Wed, 21 Aug 2013 18:16:23 +0800
Subject: [PATCH] storage: Fix coverity warning

https://bugzilla.redhat.com/show_bug.cgi?id=965442

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;
(cherry picked from commit b8a0103d45e8f82a6f66f3334b24d6deb99d7521)
---
 src/storage/storage_driver.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index ea1e436..818a08e 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -1494,6 +1494,7 @@ storageVolumeCreateXMLFrom(virStoragePoolPtr obj,
     virStorageBackendPtr backend;
     virStorageVolDefPtr origvol = NULL, newvol = NULL;
     virStorageVolPtr ret = NULL, volobj = NULL;
+    unsigned long long allocation;
     int buildret;
 
     virCheckFlags(0, NULL);
@@ -1615,6 +1616,7 @@ storageVolumeCreateXMLFrom(virStoragePoolPtr obj,
 
     origvol->building = 0;
     newvol->building = 0;
+    allocation = newvol->allocation;
     newvol = NULL;
     pool->asyncjobs--;
 
@@ -1632,8 +1634,8 @@ storageVolumeCreateXMLFrom(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);
-- 
1.8.3.2

openSUSE Build Service is sponsored by