The current qemuDomainGetHostnameLease() implementation jumps to the "endjob" label when it finds hostname. As the label is defined after "ret = 0", qemuDomainGetHostnameLease() returns -1 in this case. That works because in qemuDomainGetHostname() it is used like that: ... if (qemuDomainGetHostnameLease(vm, &hostname) < 0) goto cleanup; ... cleanup: virDomainObjEndAPI(&vm); return hostname; } So it works, but it looks confusing. To make more consistent, use 'break' in qemuDomainGetHostnameLease() when the hostname is found, so it returns 0 in this case. Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com> --- src/qemu/qemu_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 2d31d4aa31..b51f644241 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -16471,7 +16471,7 @@ qemuDomainGetHostnameLease(virDomainObj *vm, VIR_FREE(leases); if (*hostname) - goto endjob; + break; } ret = 0; -- 2.52.0