summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2007-10-18 00:14:01 +0000
committerKen Raeburn <raeburn@mit.edu>2007-10-18 00:14:01 +0000
commitca917d8b2a542bc8c06fc4d31c7fad7218063518 (patch)
tree0f11e375a71b25da1f99d7f17f49aeb876fc5f59 /src/lib
parent04f249474512f9bba2c35fa156beb2e029b43e61 (diff)
Reject socket fds > FD_SETSIZE
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20127 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/os/sendto_kdc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c
index 0c63b22ec..999274736 100644
--- a/src/lib/krb5/os/sendto_kdc.c
+++ b/src/lib/krb5/os/sendto_kdc.c
@@ -671,6 +671,12 @@ start_connection (struct conn_state *state,
dprint("socket: %m creating with af %d\n", state->err, ai->ai_family);
return -1; /* try other hosts */
}
+ if (fd > FD_SETSIZE) {
+ close(fd);
+ state->err = EMFILE;
+ dprint("socket: fd %d too high\n", fd);
+ return -1;
+ }
/* Make it non-blocking. */
if (ai->ai_socktype == SOCK_STREAM) {
static const int one = 1;