Coverity determined that on error path that 'mach' wouldn't be free'd Since virCapabilitiesFreeGuestMachine() isn't globally available, we'll insert first and then if the VIR_STRDUP's fail they it will eventually cause the 'mach' to be freed in the error path
Signed-off-by: John Ferlan <jfer...@redhat.com> --- src/qemu/qemu_capabilities.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index ce899f2..fcd7b19 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2106,6 +2106,7 @@ int virQEMUCapsGetMachineTypesCaps(virQEMUCapsPtr qemuCaps, virCapsGuestMachinePtr mach; if (VIR_ALLOC(mach) < 0) goto error; + (*machines)[i] = mach; if (qemuCaps->machineAliases[i]) { if (VIR_STRDUP(mach->name, qemuCaps->machineAliases[i]) < 0 || VIR_STRDUP(mach->canonical, qemuCaps->machineTypes[i]) < 0) @@ -2115,7 +2116,6 @@ int virQEMUCapsGetMachineTypesCaps(virQEMUCapsPtr qemuCaps, goto error; } mach->maxCpus = qemuCaps->machineMaxCpus[i]; - (*machines)[i] = mach; } return 0; -- 1.9.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list