diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-09-25 06:49:33 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-09-25 06:49:33 +0000 |
commit | 51499423041892397b8ee123bbe45fd8eadda534 (patch) | |
tree | c58e1774aaa9d28a1a68bc0f9eb68e65e6b00980 | |
parent | 9435d38cb1f0988a4f62fe30b90e29d9250054b1 (diff) | |
download | glibc-51499423041892397b8ee123bbe45fd8eadda534.zip glibc-51499423041892397b8ee123bbe45fd8eadda534.tar.gz glibc-51499423041892397b8ee123bbe45fd8eadda534.tar.bz2 |
* misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
opened.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | misc/daemon.c | 8 |
2 files changed, 7 insertions, 4 deletions
@@ -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. diff --git a/misc/daemon.c b/misc/daemon.c index 775ef1a..7597ce9 100644 --- a/misc/daemon.c +++ b/misc/daemon.c @@ -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 |