diff options
Diffstat (limited to 'src/pam_radius_auth.c')
-rw-r--r-- | src/pam_radius_auth.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pam_radius_auth.c b/src/pam_radius_auth.c index 0db57d5..f3a4326 100644 --- a/src/pam_radius_auth.c +++ b/src/pam_radius_auth.c @@ -618,6 +618,14 @@ static int initialize(radius_conf_t *conf, int accounting) return PAM_AUTHINFO_UNAVAIL; } +#ifndef HAVE_POLL_H + if (conf->sockfd >= FD_SETSIZE) { + _pam_log(LOG_ERR, "Unusable socket, FD is larger than %d\n", FD_SETSIZE); + close(conf->sockfd); + return PAM_AUTHINFO_UNAVAIL; + } +#endif + /* set up the local end of the socket communications */ s_in = (struct sockaddr_in *) &salocal; memset ((char *) s_in, '\0', sizeof(struct sockaddr)); |