--- dhcpcd.c.fd 2005-09-14 18:26:58 +0400 +++ dhcpcd.c 2005-09-14 18:27:06 +0400 @@ -108,7 +108,7 @@ int s = 1; int k = 1; int i = 1; - int j; + int j,fd; /* * Ensure that fds 0, 1, 2 are open, to /dev/null if nowhere else. @@ -118,8 +118,9 @@ */ j=open("/dev/null",O_RDWR); while ( j < 2 && j >= 0 ) j = dup(j); - if ( j > 2 ) close(j); - + j = sysconf (_SC_OPEN_MAX); + for (fd = 3; fd < j; fd++) close(fd); + if ( geteuid() ) { fprintf(stderr,"**** %s: not a superuser\n",argc[0]);