[libvirt] [PATCH 03/14] storage: Resolve resource leak using 'vol' buffer
John Ferlan
jferlan at redhat.com
Wed Jan 9 14:54:09 UTC 2013
---
src/storage/storage_backend_rbd.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c
index f5c6b0f..f916de1 100644
--- a/src/storage/storage_backend_rbd.c
+++ b/src/storage/storage_backend_rbd.c
@@ -329,16 +329,23 @@ static int virStorageBackendRBDRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED,
goto out_of_memory;
vol->name = strdup(name);
- if (vol->name == NULL)
+ if (vol->name == NULL) {
+ VIR_FREE(vol);
goto out_of_memory;
+ }
- if (STREQ(vol->name, ""))
+ if (STREQ(vol->name, "")) {
+ VIR_FREE(vol->name);
+ VIR_FREE(vol);
break;
+ }
name += strlen(name) + 1;
- if (volStorageBackendRBDRefreshVolInfo(vol, pool, ptr) < 0)
+ if (volStorageBackendRBDRefreshVolInfo(vol, pool, ptr) < 0) {
+ virStorageVolDefFree(vol);
goto cleanup;
+ }
pool->volumes.objs[pool->volumes.count++] = vol;
}
--
1.7.11.7
More information about the libvir-list
mailing list