[libvirt] [PATCH 2/6] qemu: Plug memory leak on qemuProcessWaitForMonitor() error path

Alex Jia ajia at redhat.com
Wed Nov 30 06:32:03 UTC 2011


On 11/30/2011 02:20 PM, Wen Congyang wrote:
> At 11/30/2011 01:57 PM, ajia at redhat.com Write:
>> From: Alex Jia<ajia at redhat.com>
>>
>> Detected by Coverity. Leak introduced in commit 109efd7.
>>
>> Signed-off-by: Alex Jia<ajia at redhat.com>
>> ---
>>   src/qemu/qemu_process.c |    1 +
>>   1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
>> index 2563f97..f3f44ca 100644
>> --- a/src/qemu/qemu_process.c
>> +++ b/src/qemu/qemu_process.c
>> @@ -1224,6 +1224,7 @@ qemuProcessWaitForMonitor(struct qemud_driver* driver,
>>
>>           if (VIR_ALLOC_N(buf, buf_size)<  0) {
>>               virReportOOMError();
>> +            VIR_FORCE_CLOSE(logfd);
>>               return -1;
> I think it is better to goto closelog
Yeah, I think so before, but 'closelog' label will free 'buf', in fact, 
we haven't successfully allocate
memory to 'buf' variable, I'm not sure whether it is a issue. maybe, the 
above is a simple way, otherwise, it should be better if we add a check 
for 'buf' variable in 'closelog' label, it looks like this:
...
if (buf)
      VIR_FREE(buf);
...

Chongyang, please correct me if I'm wrong :)

Thanks,
Alex
> Thanks
> Wen Congyang
>
>>           }
>




More information about the libvir-list mailing list