On 11/30/2011 02:20 PM, Wen Congyang wrote:
At 11/30/2011 01:57 PM, ajia(a)redhat.com Write:
> From: Alex Jia<ajia(a)redhat.com>
>
> Detected by Coverity. Leak introduced in commit 109efd7.
>
> Signed-off-by: Alex Jia<ajia(a)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
> }