> static virCPUDataPtr
> ppc64DriverNodeData(virArch arch)
> {
> - virCPUDataPtr cpuData;
> + virCPUDataPtr nodeData;
> + virCPUppc64Data *data;
>
> - if (VIR_ALLOC(cpuData) < 0)
> - return NULL;
> + if (VIR_ALLOC(nodeData) < 0)
> + goto error;
>
> - cpuData->arch = arch;
> + data = nodeData->data.ppc64;
> +
> + if (VIR_ALLOC(data) < 0)
> + goto error;
Coverity complains that 'data' isn't free'd (or stored to be free'd)
anywhere from here...
if you change the code as follows, the Coverity issue goes away (as does
the follow-up patch (13) where data->pvr is allocated. That one is fine...
if (VIR_ALLOC(nodeData->data.ppc64) < 0)
goto error;
data = nodeData->data.ppc64;
The issue is 'data' is a local, the VIR_ALLOC will overwrite the initial
setting.
John