diff options
author | Ondřej Surý <ondrej@sury.org> | 2012-04-18 09:04:54 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2012-04-18 09:04:54 +0200 |
commit | 34bb053aebd84a0c341bf5241e0cd70e28129e88 (patch) | |
tree | b9bcc0002c5dcb66470e12bc5b92e2c4a29651bc /src/common | |
parent | c5e123fb66dfd412a0d89293f893871f9a2e7d12 (diff) | |
download | knot-34bb053aebd84a0c341bf5241e0cd70e28129e88.tar.gz |
Imported Upstream version 1.0.3upstream/1.0.3
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/acl.c | 1 | ||||
-rw-r--r-- | src/common/fdset_epoll.c | 6 | ||||
-rw-r--r-- | src/common/fdset_kqueue.c | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/common/acl.c b/src/common/acl.c index a3cabd4..c8e0488 100644 --- a/src/common/acl.c +++ b/src/common/acl.c @@ -17,6 +17,7 @@ #include <string.h> #include <stdlib.h> #include <assert.h> +#include <sys/socket.h> #include "common/acl.h" diff --git a/src/common/fdset_epoll.c b/src/common/fdset_epoll.c index f6f42f0..d4481b5 100644 --- a/src/common/fdset_epoll.c +++ b/src/common/fdset_epoll.c @@ -108,8 +108,8 @@ int fdset_epoll_remove(fdset_t *fdset, int fd) --fdset->nfds; /* Trim excessive memory if possible (retval is not interesting). */ - mreserve((char **)&fdset->events, sizeof(struct epoll_event), fdset->nfds, - OS_FDS_CHUNKSIZE, &fdset->reserved); + mreserve((char **)&fdset->events, sizeof(struct epoll_event), + fdset->nfds + 1, OS_FDS_CHUNKSIZE, &fdset->reserved); return 0; } @@ -173,7 +173,7 @@ int fdset_epoll_next(fdset_t *fdset, fdset_it_t *it) } /* Check boundaries. */ - if (it->pos >= fdset->polled) { + if (it->pos >= fdset->polled || it->pos >= fdset->nfds) { return -1; } diff --git a/src/common/fdset_kqueue.c b/src/common/fdset_kqueue.c index 2c7dd52..108c572 100644 --- a/src/common/fdset_kqueue.c +++ b/src/common/fdset_kqueue.c @@ -226,7 +226,7 @@ int fdset_kqueue_next(fdset_t *fdset, fdset_it_t *it) } /* Check boundaries. */ - if (it->pos >= fdset->polled) { + if (it->pos >= fdset->polled || it->pos >= fdset->nfds) { return -1; } |