The lock should be released.
Signed-off-by: Yi Li <yili(a)winhong.com>
---
src/conf/virstorageobj.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c
index 13b75b648d..9f24ae67ca 100644
--- a/src/conf/virstorageobj.c
+++ b/src/conf/virstorageobj.c
@@ -2077,8 +2077,10 @@ virStoragePoolObjListExport(virConnectPtr conn,
virObjectRWLockRead(poolobjs);
- if (pools && VIR_ALLOC_N(data.pools, virHashSize(poolobjs->objs) + 1) <
0)
- goto error;
+ if (pools && VIR_ALLOC_N(data.pools, virHashSize(poolobjs->objs) + 1) <
0) {
+ virObjectRWUnlock(poolobjs);
+ return -1;
+ }
virHashForEach(poolobjs->objs, virStoragePoolObjListExportCallback, &data);
virObjectRWUnlock(poolobjs);
--
2.25.3