Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 25 Sep 2004 06:49:33 +0000 (06:49 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 25 Sep 2004 06:49:33 +0000 (06:49 +0000)
* misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
opened.

ChangeLog
misc/daemon.c

index d717f84..30772a9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-09-24  Ulrich Drepper  <drepper@redhat.com>
 
+       * misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
+       opened.
+
        * nis/ypclnt.c (do_ypcall): Add one missing unlock.  Simplify the
        code a bit.
 
index 775ef1a..7597ce9 100644 (file)
@@ -61,12 +61,12 @@ daemon(nochdir, noclose)
        if (!nochdir)
                (void)__chdir("/");
 
-       if (!noclose
-           && (fd = open_not_cancel(_PATH_DEVNULL, O_RDWR, 0)) != -1) {
+       if (!noclose) {
                struct stat64 st;
 
-               if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) == 0)
-               {
+               if ((fd = open_not_cancel(_PATH_DEVNULL, O_RDWR, 0)) != -1
+                   && (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0)
+                       == 0)) {
                        if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0
 #if defined DEV_NULL_MAJOR && defined DEV_NULL_MINOR
                            && (st.st_rdev