[libvirt] [PATCH] virExec: fix logic bug

Eric Blake eblake at redhat.com
Fri Dec 24 15:42:47 UTC 2010


As pointed out in https://bugzilla.redhat.com/show_bug.cgi?id=659855#c9,
commit c3568ec2 introduced a regression where we no longer close any
fd's beyond FD_SETSIZE.

* src/util/util.c (__virExec): Continue to close fd's beyond
keepfd range.
Reported by Stefan Praszalowicz.
---
 src/util/util.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/util/util.c b/src/util/util.c
index d6fa81b..197c571 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -570,7 +570,7 @@ __virExec(const char *const*argv,
             i != null &&
             i != childout &&
             i != childerr &&
-            (!keepfd || (i < FD_SETSIZE && !FD_ISSET(i, keepfd)))) {
+            (!keepfd || i >= FD_SETSIZE || !FD_ISSET(i, keepfd))) {
             tmpfd = i;
             VIR_FORCE_CLOSE(tmpfd);
         }
-- 
1.7.3.4




More information about the libvir-list mailing list