X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fstatd%2Fstatd.c;h=3d90d641851aa26c86f5920b6bdd38976db8f9df;hb=9ee7da8230adead93a1b42b1ac2c78e02227fe15;hp=e758707887963aca31ddfae79785e39e36bcadc3;hpb=012d7fd50654b1623e63c447905187929e559cff;p=nfs-utils.git diff --git a/utils/statd/statd.c b/utils/statd/statd.c index e758707..3d90d64 100644 --- a/utils/statd/statd.c +++ b/utils/statd/statd.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -216,7 +217,7 @@ int main (int argc, char **argv) #endif if (!(run_mode & MODE_NODAEMON)) { - int filedes; + int filedes, fdmax, tempfd; if ((pid = fork ()) < 0) { perror ("Could not fork"); @@ -229,7 +230,12 @@ int main (int argc, char **argv) setsid (); chdir (DIR_BASE); - for (filedes = 0; filedes < sysconf (_SC_OPEN_MAX); filedes++) { + tempfd = open("/dev/null", O_RDWR); + close(0); dup2(tempfd, 0); + close(1); dup2(tempfd, 1); + close(2); dup2(tempfd, 2); + fdmax = sysconf (_SC_OPEN_MAX); + for (filedes = 3; filedes < fdmax; filedes++) { close (filedes); } }