Properly check the return value of CCWAddressAsString

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 3fe9d75ab6)

Conflicts:
	src/conf/domain_addr.c - no code movement from commit b2626755
This commit is contained in:
Ján Tomko 2014-06-23 08:31:53 +02:00 committed by Eric Blake
parent 36460fb15e
commit 0e8910a0a1

View File

@ -1131,7 +1131,7 @@ int qemuDomainCCWAddressAssign(virDomainDeviceInfoPtr dev,
goto cleanup; goto cleanup;
} }
} else if (autoassign && !dev->addr.ccw.assigned) { } else if (autoassign && !dev->addr.ccw.assigned) {
if (!(addr = qemuCCWAddressAsString(&addrs->next)) < 0) if (!(addr = qemuCCWAddressAsString(&addrs->next)))
goto cleanup; goto cleanup;
while (virHashLookup(addrs->defined, addr)) { while (virHashLookup(addrs->defined, addr)) {
@ -1141,7 +1141,8 @@ int qemuDomainCCWAddressAssign(virDomainDeviceInfoPtr dev,
goto cleanup; goto cleanup;
} }
VIR_FREE(addr); VIR_FREE(addr);
addr = qemuCCWAddressAsString(&addrs->next); if (!(addr = qemuCCWAddressAsString(&addrs->next)))
goto cleanup;
} }
dev->addr.ccw = addrs->next; dev->addr.ccw = addrs->next;
dev->addr.ccw.assigned = true; dev->addr.ccw.assigned = true;