diff --git a/core/relinker/io/src/FileReader.cpp b/core/relinker/io/src/FileReader.cpp index 35763b5df1..4f012529d3 100644 --- a/core/relinker/io/src/FileReader.cpp +++ b/core/relinker/io/src/FileReader.cpp @@ -10,7 +10,11 @@ namespace Io { std::vector FileReader::ReadPrefix(const std::string& path, const std::size_t size) const { if (size > static_cast(std::numeric_limits::max())) throw Domain::RelinkerException("File prefix is too large: " + path); - std::ifstream f(path, std::ios::binary); + const auto native = NativePath(path); + std::error_code error; + if (!std::filesystem::is_regular_file(native, error)) + throw Domain::RelinkerException("Cannot open file: " + path); + std::ifstream f(native, std::ios::binary); if (!f) throw Domain::RelinkerException("Cannot open file: " + path); std::vector buf(size);