--- Linux-PAM-0.99.8.1/modules/pam_xauth/pam_xauth.c.bak 2006-01-22 17:40:58.000000000 +0200 +++ Linux-PAM-0.99.8.1/modules/pam_xauth/pam_xauth.c 2007-08-25 21:57:02.392985706 +0300 @@ -113,6 +113,8 @@ run_coprocess(const char *input, char ** size_t j; char *args[10]; const char *tmp; + long nropen; + /* Drop privileges. */ setgid(gid); setgroups(0, NULL); @@ -124,7 +126,8 @@ run_coprocess(const char *input, char ** * descriptors. */ dup2(ipipe[0], STDIN_FILENO); dup2(opipe[1], STDOUT_FILENO); - for (i = 0; i < sysconf(_SC_OPEN_MAX); i++) { + nropen = sysconf(_SC_OPEN_MAX); + for (i = 0; i < nropen; i++) { if ((i != STDIN_FILENO) && (i != STDOUT_FILENO)) { close(i); }