[libvirt] [PATCH] Avoid closing uninitialized FDs when LXC startup fails

Eric Blake eblake at redhat.com
Wed Mar 13 22:31:54 UTC 2013


On 03/13/2013 11:32 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> 
> If an LXC domain failed to start because of a bogus SELinux
> label, virLXCProcessStart would call VIR_CLOSE(0) by mistake.
> This is because the code which initializes the member of the
> ttyFDs array to -1 got moved too far away from the place where
> the array is first allocated.
> 
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  src/lxc/lxc_process.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)

ACK.

> +    for (i = 0 ; i < vm->def->nconsoles ; i++)
> +        ttyFDs[i] = -1;

Is it any more efficient to write:

memset(ttyFDs, -1, sizeof(ttyFDs[0]) * vm->def->nconsoles);

But it's probably not a critical path, and I'm not sure the rewrite adds
any legibility, so it is probably just a premature micro-optimization.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130313/cbd8e125/attachment-0001.sig>


More information about the libvir-list mailing list