]> err.no Git - util-linux/commitdiff
libuuid: Make sure fd's 0, 1, and 2 are valid before exec'ing uuidd
authorTheodore Ts'o <tytso@mit.edu>
Tue, 30 Jun 2009 01:19:28 +0000 (21:19 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 1 Jul 2009 03:26:09 +0000 (23:26 -0400)
When closing all of the file descriptors before starting uuidd, make
sure file descriptors 0, 1, and 2 are reserved by opening /dev/null.
This prevents strange bugs caused by assumptions regarding file
descriptors <= 2 as being special.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
shlibs/uuid/src/gen_uuid.c

index 8497ac675f75f27a7675103cb802b320a4208ef2..32a6453bf1124c2e533a98425f941e7eca733d75 100644 (file)
@@ -461,8 +461,11 @@ static void close_all_fds(void)
        max = OPEN_MAX;
 #endif
 
-       for (i=0; i < max; i++)
+       for (i=0; i < max; i++) {
                close(i);
+               if (i <= 2)
+                       open("/dev/null", O_RDWR);
+       }
 }
 
 /*