--- iputils-s20070202/rdisc.c.open-max 2007-08-07 11:34:03.000000000 +0200 +++ iputils-s20070202/rdisc.c 2007-08-07 11:41:30.000000000 +0200 @@ -240,14 +240,25 @@ { int t; pid_t pid; + long open_max; if (trace) return; + if ((open_max = sysconf(_SC_OPEN_MAX)) == -1) { + if (errno == 0) { + (void) fprintf(stderr, "OPEN_MAX is not supported\n"); + } + else { + (void) fprintf(stderr, "sysconf() error\n"); + } + exit(1); + } + if ((pid=fork()) != 0) exit(0); - for (t = 0; t < OPEN_MAX; t++) + for (t = 0; t < open_max; t++) if (t != s) close(t);