]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Properly check the return value of CCWAddressAsString
authorJán Tomko <jtomko@redhat.com>
Mon, 23 Jun 2014 06:31:53 +0000 (08:31 +0200)
committerEric Blake <eblake@redhat.com>
Wed, 16 Dec 2015 03:33:04 +0000 (20:33 -0700)
It returns NULL on failure. Checking if the negation of it
is less than zero makes no sense. (Found by coverity after moving
the code)

In another case, the return value wasn't checked at all.

(cherry picked from commit 3fe9d75ab641f5b676845980a0ee7aef8148da9b)

Conflicts:
src/conf/domain_addr.c - no code movement from commit b2626755

src/qemu/qemu_command.c

index 96072cf358f4df0c44c21eef33b60fc79145890b..e3115a3d432d2a3f51ab7fe8f5e7f9456a604b18 100644 (file)
@@ -1110,7 +1110,7 @@ int qemuDomainCCWAddressAssign(virDomainDeviceInfoPtr dev,
             goto cleanup;
         }
     } else if (autoassign && !dev->addr.ccw.assigned) {
-        if (!(addr = qemuCCWAddressAsString(&addrs->next)) < 0)
+        if (!(addr = qemuCCWAddressAsString(&addrs->next)))
             goto cleanup;
 
         while (virHashLookup(addrs->defined, addr)) {
@@ -1120,7 +1120,8 @@ int qemuDomainCCWAddressAssign(virDomainDeviceInfoPtr dev,
                 goto cleanup;
             }
             VIR_FREE(addr);
-            addr = qemuCCWAddressAsString(&addrs->next);
+            if (!(addr = qemuCCWAddressAsString(&addrs->next)))
+                goto cleanup;
         }
         dev->addr.ccw = addrs->next;
         dev->addr.ccw.assigned = true;