commit 21c9672d65fdfef303bd8dd6b699c13d19118c22 from: Omar Polo date: Sun Feb 18 22:44:14 2024 UTC ev: fix invalid fd check commit - c48cf63883dde2f28bca9aa8b97e0bcd94b071ff commit + 21c9672d65fdfef303bd8dd6b699c13d19118c22 blob - 473ce3d8dd057cae13b31e8676d33d366f2082f3 blob + f0cb8b173bba9cfbb314353d6720f6c6be03a399 --- ev.c +++ ev.c @@ -137,7 +137,12 @@ ev2poll(int ev) int ev_add(int fd, int ev, void (*cb)(int, int, void *), void *udata) { - if (fd < 0 || (size_t)fd >= base->len) { + if (fd < 0) { + errno = EBADF; + return -1; + } + + if ((size_t)fd >= base->len) { if (ev_resize(fd + 1) == -1) return -1; } @@ -350,7 +355,12 @@ ev_timer_cancel(unsigned int id) int ev_del(int fd) { - if (fd < 0 || (size_t)fd >= base->len) { + if (fd < 0) { + errno = EBADF; + return -1; + } + + if ((size_t)fd >= base->len) { errno = ERANGE; return -1; }