Introduced by c930410.
https://bugzilla.redhat.com/show_bug.cgi?id=980676
---
src/storage/storage_driver.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 02f7b69..d15b3d4 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]);
--
1.8.1.5