X-Git-Url: https://ruderich.org/simon/gitweb/?p=coloredstderr%2Fcoloredstderr.git;a=blobdiff_plain;f=src%2Ftrackfds.h;fp=src%2Ftrackfds.h;h=f0ba8791d8485fd5441ae7bcd45109bdda482560;hp=acf7ce336d18dd30d29a661d62fe9bdfbeba917c;hb=ba2283bd3780a13f26521c5c47deedfc7184ed7d;hpb=f3c734eb7d1759d67e64614a6285865e6edac0bf diff --git a/src/trackfds.h b/src/trackfds.h index acf7ce3..f0ba879 100644 --- a/src/trackfds.h +++ b/src/trackfds.h @@ -329,7 +329,11 @@ static int tracked_fds_find_slow(int fd) noinline; */ inline static int tracked_fds_find(int fd) always_inline; inline static int tracked_fds_find(int fd) { - assert(fd >= 0); + /* Invalid file descriptor. No assert() as we're called from the hooked + * macro. */ + if (unlikely(fd < 0)) { + return 0; + } if (fd < TRACKFDS_STATIC_COUNT) { return tracked_fds[fd]; @@ -339,6 +343,7 @@ inline static int tracked_fds_find(int fd) { } static int tracked_fds_find_slow(int fd) { assert(initialized); + assert(fd >= 0); if (tracked_fds_list_count == 0) { return 0;