From 2eee4ca70d37cd47c54a9641d8bd574f33579200 Mon Sep 17 00:00:00 2001 From: pjd Date: Wed, 22 Sep 2010 19:05:54 +0000 Subject: Assert that descriptor numbers are sane. MFC after: 3 days --- sbin/hastd/hastd.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sbin') diff --git a/sbin/hastd/hastd.c b/sbin/hastd/hastd.c index af46882..651730d 100644 --- a/sbin/hastd/hastd.c +++ b/sbin/hastd/hastd.c @@ -650,18 +650,22 @@ main_loop(void) /* Setup descriptors for select(2). */ FD_ZERO(&rfds); maxfd = fd = proto_descriptor(cfg->hc_controlconn); + assert(fd >= 0); FD_SET(fd, &rfds); fd = proto_descriptor(cfg->hc_listenconn); + assert(fd >= 0); FD_SET(fd, &rfds); maxfd = fd > maxfd ? fd : maxfd; TAILQ_FOREACH(res, &cfg->hc_resources, hr_next) { if (res->hr_event == NULL) continue; fd = proto_descriptor(res->hr_event); + assert(fd >= 0); FD_SET(fd, &rfds); maxfd = fd > maxfd ? fd : maxfd; } + assert(maxfd + 1 <= (int)FD_SETSIZE); ret = select(maxfd + 1, &rfds, NULL, NULL, &timeout); if (ret == 0) hook_check(false); -- cgit v1.1