diff --git a/kernel/src/Api/BuildNo.hpp b/kernel/src/Api/BuildNo.hpp index 4a8b1ef..feb58dc 100644 --- a/kernel/src/Api/BuildNo.hpp +++ b/kernel/src/Api/BuildNo.hpp @@ -12,4 +12,4 @@ #pragma once -#define MONTAUK_BUILD_NUMBER 20 +#define MONTAUK_BUILD_NUMBER 21 diff --git a/kernel/src/Fs/Ramdisk.cpp b/kernel/src/Fs/Ramdisk.cpp index 2b15fd0..6c91998 100644 --- a/kernel/src/Fs/Ramdisk.cpp +++ b/kernel/src/Fs/Ramdisk.cpp @@ -175,6 +175,13 @@ namespace Fs::Ramdisk { if (path[0] == '/') path++; for (int i = 0; i < fileCount; i++) { + // Directories are not openable as files. Without this, + // userspace stat() classified every directory with a tar + // entry as a regular file (GCC's include-path setup then + // rejected real directories with "not a directory"). + if (fileTable[i].isDirectory) { + continue; + } if (StrEqual(fileTable[i].name, path)) { return i; }