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

Signed-off-by: John Ferlan <jfer...@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to