diff options
Diffstat (limited to 'Userland/Libraries/LibFileSystem')
-rw-r--r-- | Userland/Libraries/LibFileSystem/FileSystem.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Userland/Libraries/LibFileSystem/FileSystem.cpp b/Userland/Libraries/LibFileSystem/FileSystem.cpp index 2e181fa937..908200c2e5 100644 --- a/Userland/Libraries/LibFileSystem/FileSystem.cpp +++ b/Userland/Libraries/LibFileSystem/FileSystem.cpp @@ -9,6 +9,7 @@ #include <LibCore/DirIterator.h> #include <LibCore/System.h> #include <LibFileSystem/FileSystem.h> +#include <limits.h> #ifdef AK_OS_SERENITY # include <serenity.h> @@ -46,13 +47,14 @@ ErrorOr<String> real_path(StringView path) if (path.is_null()) return Error::from_errno(ENOENT); + char buffer[PATH_MAX]; DeprecatedString dep_path = path; - auto* real_path = realpath(dep_path.characters(), nullptr); + auto* real_path = realpath(dep_path.characters(), buffer); if (!real_path) return Error::from_syscall("realpath"sv, -errno); - return TRY(String::from_deprecated_string({ real_path })); + return TRY(String::from_utf8({ real_path, strlen(real_path) })); } bool exists(StringView path) |