[libvirt] [PATCH 1/3] vbox_temp: Resolve Coverity warnings

John Ferlan jferlan at redhat.com
Wed Jun 11 13:38:18 UTC 2014


Clean up code to resolve Coverity RESOURCE_LEAK's from commit id's
'632b9600' and 'b739f807'.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/vbox/vbox_tmpl.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index da9b2b7..1ed2729 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -6267,6 +6267,11 @@ vboxSnapshotRedefine(virDomainPtr dom,
              */
             parentUuid = virVBoxSnapshotConfHardDiskUuidByLocation(snapshotMachineDesc,
                                                       realReadOnlyDisksPath[it]);
+            if (parentUuid == NULL) {
+                VIR_FREE(readWriteDisk);
+                goto cleanup;
+            }
+
             if (virVBoxSnapshotConfAddHardDiskToMediaRegistry(readWriteDisk,
                                            snapshotMachineDesc->mediaRegistry,
                                            parentUuid) < 0) {
@@ -8576,14 +8581,17 @@ vboxDomainSnapshotDeleteMetadataOnly(virDomainSnapshotPtr snapshot)
                     virReportError(VIR_ERR_INTERNAL_ERROR,
                                    _("Unable to get medium uuid, rc=%08x"),
                                    (unsigned)rc);
+                    VIR_FREE(disk);
                     goto cleanup;
                 }
                 VBOX_UTF16_TO_UTF8(uuidUtf16, &uuid);
                 disk->uuid = uuid;
                 VBOX_UTF16_FREE(uuidUtf16);
 
-                if (VIR_STRDUP(disk->location, newLocationUtf8) < 0)
+                if (VIR_STRDUP(disk->location, newLocationUtf8) < 0) {
+                    VIR_FREE(disk);
                     goto cleanup;
+                }
 
                 rc = newMedium->vtbl->GetFormat(newMedium, &formatUtf16);
                 VBOX_UTF16_TO_UTF8(formatUtf16, &format);
-- 
1.9.3




More information about the libvir-list mailing list