(doit_active): check that fds are not too large to select on
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9100 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1995 - 2000 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -448,8 +448,11 @@ doit_active (kx_context *kc)
|
|||||||
socklen_t zero = 0;
|
socklen_t zero = 0;
|
||||||
|
|
||||||
FD_ZERO(&fdset);
|
FD_ZERO(&fdset);
|
||||||
for (i = 0; i < nsockets; ++i)
|
for (i = 0; i < nsockets; ++i) {
|
||||||
|
if (sockets[i].fd >= FD_SETSIZE)
|
||||||
|
errx (1, "fd too large");
|
||||||
FD_SET(sockets[i].fd, &fdset);
|
FD_SET(sockets[i].fd, &fdset);
|
||||||
|
}
|
||||||
if (select(FD_SETSIZE, &fdset, NULL, NULL, NULL) <= 0)
|
if (select(FD_SETSIZE, &fdset, NULL, NULL, NULL) <= 0)
|
||||||
continue;
|
continue;
|
||||||
for (i = 0; i < nsockets; ++i)
|
for (i = 0; i < nsockets; ++i)
|
||||||
|
Reference in New Issue
Block a user