diff --git a/src/kernel/libroot/posix/unistd/directory.c b/src/kernel/libroot/posix/unistd/directory.c index 1cd66c1b36..a24ee01635 100644 --- a/src/kernel/libroot/posix/unistd/directory.c +++ b/src/kernel/libroot/posix/unistd/directory.c @@ -65,8 +65,12 @@ readdir(DIR *dir) */ ssize_t count = sys_read_dir(dir->fd, &dir->ent, BUFFER_SIZE, 1); - if (count <= 0) + if (count <= 0) { + if (count < 0) + errno = count; + return NULL; + } return &dir->ent; }