From 064cd2278cda21622ffae69a7263581d72fd09a6 Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Wed, 15 Jan 2020 14:05:49 +0300 Subject: [PATCH] Kernel: Remove the use of FileSystemPath in sys$realpath() Now that VFS::resolve_path() canonicalizes paths automatically, we don't need to do that here anymore. --- Kernel/Process.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index ff8522e75a..d2d5ca7745 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -2578,18 +2578,12 @@ int Process::sys$realpath(const Syscall::SC_realpath_params* user_params) if (custody_or_error.is_error()) return custody_or_error.error(); auto& custody = custody_or_error.value(); + auto absolute_path = custody->absolute_path(); - // FIXME: Once resolve_path is fixed to deal with .. and . , remove the use of FileSystemPath::canonical_path. - FileSystemPath canonical_path(custody->absolute_path()); - if (!canonical_path.is_valid()) { - dbg() << "FileSystemPath failed to canonicalize " << custody->absolute_path(); - ASSERT_NOT_REACHED(); - } - - if (canonical_path.string().length() + 1 > params.buffer.size) + if (absolute_path.length() + 1 > params.buffer.size) return -ENAMETOOLONG; - copy_to_user(params.buffer.data, canonical_path.string().characters(), canonical_path.string().length() + 1); + copy_to_user(params.buffer.data, absolute_path.characters(), absolute_path.length() + 1); return 0; };