From b254f75968e1a5692fa872fcfda5eaa1a0ed561d Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Wed, 16 Oct 2024 09:49:55 +0200 Subject: safer path from handle (#195) * remove PathFromHandle that throws to give better context on failures --- src/zenutil/packageformat.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/zenutil/packageformat.cpp') diff --git a/src/zenutil/packageformat.cpp b/src/zenutil/packageformat.cpp index 8087b7564..579e0d13c 100644 --- a/src/zenutil/packageformat.cpp +++ b/src/zenutil/packageformat.cpp @@ -126,7 +126,14 @@ IsLocalRef(tsl::robin_map& FileNameMap, if (UseFilePath) { ExtendablePathBuilder<256> LocalRefFile; - LocalRefFile.Append(std::filesystem::absolute(PathFromHandle(Ref.FileHandle))); + std::error_code Ec; + std::filesystem::path FilePath = PathFromHandle(Ref.FileHandle, Ec); + if (Ec) + { + ZEN_WARN("Failed to get path for file handle {} in IsLocalRef check, reason '{}'", Ref.FileHandle, Ec.message()); + return false; + } + LocalRefFile.Append(std::filesystem::absolute(FilePath)); Path8 = LocalRefFile.ToUtf8(); } FileNameMap.insert_or_assign(Ref.FileHandle, Path8); -- cgit v1.2.3