summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/amd/amd/info_hes.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/usr.sbin/amd/amd/info_hes.c b/usr.sbin/amd/amd/info_hes.c
index d0b0314f0f3..55ba86c6859 100644
--- a/usr.sbin/amd/amd/info_hes.c
+++ b/usr.sbin/amd/amd/info_hes.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* from: @(#)info_hes.c 8.1 (Berkeley) 6/6/93
- * $Id: info_hes.c,v 1.3 1997/06/23 01:36:00 deraadt Exp $
+ * $Id: info_hes.c,v 1.4 1997/12/17 07:40:42 deraadt Exp $
*/
/*
@@ -396,16 +396,22 @@ hs_res_selwait(sock, timeout)
int sock;
struct timeval *timeout;
{
- fd_set dsmask;
+ fd_set *fdsp;
+ int fdsn;
register int n;
/*
* Wait for reply
*/
- FD_ZERO(&dsmask);
- FD_SET(sock, &dsmask);
- n = select(sock+1, &dsmask, (fd_set *)NULL,
+ fdsn = howmany(sock+1, NFDBITS) * sizeof(fd_mask);
+ if ((fdsp = (fd_set *)malloc(fdsn)) == NULL)
+ return(0);
+ memset(fdsp, 0, fdsn);
+
+ FD_SET(sock, fdsp);
+ n = select(sock+1, fdsp, (fd_set *)NULL,
(fd_set *)NULL, timeout);
+ free(fdsp);
return(n);
}