Remove invalid assert() in tracked_fds_find().

This commit is contained in:
Simon Ruderich
2013-06-20 23:17:03 +02:00
parent f3c734eb7d
commit ba2283bd37
2 changed files with 7 additions and 1 deletions

View File

@@ -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;

View File

@@ -57,6 +57,7 @@ int main(int argc, char **argv unused) {
putc_unlocked('\n', stdout);
/* Test invalid stuff. */
write(-3, "foo", 3);
close(-42);
close(-4711);
/* Can't test this, results in a segfault with the "normal" fclose(). */