diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index c83aa8a6e8aec210746f51e6d6e7a24d82556510..2f7b2e559a04d589a504fe07f6fee1e57760c76b 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1828,6 +1828,10 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, pool->volumes.objs[pool->volumes.count++] = newvol; volobj = virGetStorageVol(obj->conn, pool->def->name, newvol->name, newvol->key, NULL, NULL); + if (!volobj) { + pool->volumes.count--; + goto cleanup; + } /* Drop the pool lock during volume allocation */ pool->asyncjobs++;