diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 02f7b69893..d15b3d4868 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1380,15 +1380,16 @@ storageVolLookupByKey(virConnectPtr conn, virStorageVolDefFindByKey(driver->pools.objs[i], key); if (vol) { - if (virStorageVolLookupByKeyEnsureACL(conn, driver->pools.objs[i]->def, vol) < 0) + if (virStorageVolLookupByKeyEnsureACL(conn, driver->pools.objs[i]->def, vol) < 0) { + virStoragePoolObjUnlock(driver->pools.objs[i]); goto cleanup; + } ret = virGetStorageVol(conn, driver->pools.objs[i]->def->name, vol->name, vol->key, NULL, NULL); - goto cleanup; } } virStoragePoolObjUnlock(driver->pools.objs[i]); @@ -1440,15 +1441,16 @@ storageVolLookupByPath(virConnectPtr conn, VIR_FREE(stable_path); if (vol) { - if (virStorageVolLookupByPathEnsureACL(conn, driver->pools.objs[i]->def, vol) < 0) + if (virStorageVolLookupByPathEnsureACL(conn, driver->pools.objs[i]->def, vol) < 0) { + virStoragePoolObjUnlock(driver->pools.objs[i]); goto cleanup; + } ret = virGetStorageVol(conn, driver->pools.objs[i]->def->name, vol->name, vol->key, NULL, NULL); - goto cleanup; } } virStoragePoolObjUnlock(driver->pools.objs[i]);