X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/fcbc59051841c6e76a6737acf8ccaac4afd98666..7f861e63553911e2d61c8a7ce8c16b8089446822:/secnet.c diff --git a/secnet.c b/secnet.c index 16fa198..7869182 100644 --- a/secnet.c +++ b/secnet.c @@ -1,5 +1,7 @@ #include "secnet.h" #include +#include +#include #include #include #include @@ -30,13 +32,13 @@ struct poll_interest { beforepoll_fn *before; afterpoll_fn *after; void *state; - uint32_t max_nfds; - uint32_t nfds; + int32_t max_nfds; + int32_t nfds; cstring_t desc; struct poll_interest *next; }; static struct poll_interest *reg=NULL; -static uint32_t total_nfds=10; +static int32_t total_nfds=10; static bool_t finished=False; @@ -219,7 +221,7 @@ static void setup(dict_t *config) } void register_for_poll(void *st, beforepoll_fn *before, - afterpoll_fn *after, uint32_t max_nfds, cstring_t desc) + afterpoll_fn *after, int32_t max_nfds, cstring_t desc) { struct poll_interest *i; @@ -230,6 +232,7 @@ void register_for_poll(void *st, beforepoll_fn *before, i->max_nfds=max_nfds; i->nfds=0; i->desc=desc; + assert(total_nfds < INT_MAX - max_nfds); total_nfds+=max_nfds; i->next=reg; reg=i;