On 12/09/2011 07:27 AM, Stefan Berger wrote: > When parsing ppc64 models on an x86 host an out-of-memory error message > is displayed due > to it checking for retcpus being NULL. Fix this by removing the check > whether retcpus is NULL > since we will realloc into this variable. > Also in the X86 model parser display the OOM error at the location where > it happens. >
> @@ -493,11 +497,6 @@ qemuCapsParsePPCModels(const char *outpu
> const char **cpus = NULL;
> int i;
>
> - if (!retcpus) {
> - VIR_DEBUG("No retcpus specified");
> - return -1;
> - }
This hunk looks okay, but your patch is incomplete; later on, we have:
if (retcount)
*retcount = count;
if (retcpus)
*retcpus = cpus;
return 0;
error:
if (cpus) {
for (i = 0; i < count; i++)
VIR_FREE(cpus[i]);
}
VIR_FREE(cpus);
return -1;
What this really needs to be is:
if (retcpus) {
*retcpus = cpus;
cpus = NULL;
}
ret = 0;
cleanup:
if (cpus) { ... }
VIR_FREE(cpus);
return ret;
so that we don't leak cpus when retcpus is NULL. Looking forward to v2.
--
Eric Blake [email protected] +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
