diff --git a/kernel/kernel/Process.cpp b/kernel/kernel/Process.cpp index e0542ba2..5dde01d5 100644 --- a/kernel/kernel/Process.cpp +++ b/kernel/kernel/Process.cpp @@ -384,7 +384,15 @@ namespace Kernel open_fd_copy = open_file_description(fd); } - return TRY(open_fd_copy.inode->read_directory_entries(0)); + auto result = TRY(open_fd_copy.inode->read_directory_entries(open_fd_copy.offset)); + + { + LockGuard _(m_lock); + MUST(validate_fd(fd)); + open_file_description(fd).offset = open_fd_copy.offset + 1; + } + + return result; } BAN::ErrorOr Process::working_directory() const