[libvirt] [PATCH] Yet more coverity fixes

Stefan Berger stefanb at linux.vnet.ibm.com
Mon Apr 30 16:42:37 UTC 2012


On 04/30/2012 12:34 PM, Daniel P. Berrange wrote:
> On Mon, Apr 30, 2012 at 12:28:26PM -0400, Stefan Berger wrote:
>> Addressing the following reports:
>>
> None of those reports mention daemon/libvirtd.c and yet
>

These must have gotten lost:

Error: RESOURCE_LEAK:
/libvirt/daemon/libvirtd.c:147:
open_fn: Calling opening function "open".
/libvirt/daemon/libvirtd.c:147:
var_assign: Assigning: "stdinfd" =  handle returned from "open("/dev/null", 0)".
/libvirt/daemon/libvirtd.c:151:
noescape: Variable "stdinfd" is not closed or saved in function "dup2".
/libvirt/daemon/libvirtd.c:168:
leaked_handle: Handle variable "stdinfd" going out of scope leaks the handle.

Error: RESOURCE_LEAK:
/libvirt/daemon/libvirtd.c:149:
open_fn: Calling opening function "open".
/libvirt/daemon/libvirtd.c:149:
var_assign: Assigning: "stdoutfd" =  handle returned from "open("/dev/null", 1)".
/libvirt/daemon/libvirtd.c:153:
noescape: Variable "stdoutfd" is not closed or saved in function "dup2".
/libvirt/daemon/libvirtd.c:155:
noescape: Variable "stdoutfd" is not closed or saved in function "dup2".
/libvirt/daemon/libvirtd.c:168:
leaked_handle: Handle variable "stdoutfd" going out of scope leaks the handle.



>>   daemon/libvirtd.c                         |   24 +++++++++++++++++++-----
>> @@ -172,6 +173,19 @@ static int daemonForkIntoBackground(cons
>>                   _exit(EXIT_SUCCESS);
>>               }
>>
>> +
>> +        cleanup_close_stderr_fileno:
>> +            tmpfd = STDERR_FILENO;
>> +            VIR_FORCE_CLOSE(tmpfd);
>> +
>> +        cleanup_close_stdout_fileno:
>> +            tmpfd = STDOUT_FILENO;
>> +            VIR_FORCE_CLOSE(tmpfd);
>> +
>> +        cleanup_close_stdin_fileno:
>> +            tmpfd = STDIN_FILENO;
>> +            VIR_FORCE_CLOSE(tmpfd);
>> +
>>           cleanup:
>>               VIR_FORCE_CLOSE(stdoutfd);
>>               VIR_FORCE_CLOSE(stdinfd);
> This really seems like overkill&  ugly. There is no real world leak
> here since this process will immediately exit.
>

Right, though this should make coverity quiet...

    Stefan




More information about the libvir-list mailing list