From 8c1828e136b7c64c26042ff7641b9505a0677356 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Tue, 4 Jul 2023 12:36:36 +0200 Subject: [PATCH] Additional safety check when stat()-ing files --- src/dwarfs/file_stat.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/dwarfs/file_stat.cpp b/src/dwarfs/file_stat.cpp index 46a3363c..d9d35f26 100644 --- a/src/dwarfs/file_stat.cpp +++ b/src/dwarfs/file_stat.cpp @@ -41,6 +41,7 @@ #include "dwarfs/error.h" #include "dwarfs/mmap.h" #include "dwarfs/os_access_generic.h" +#include "dwarfs/util.h" namespace dwarfs { @@ -67,6 +68,9 @@ uint64_t time_from_filetime(FILETIME const& ft) { file_stat make_file_stat(fs::path const& path) { auto status = fs::symlink_status(path); + DWARFS_CHECK(status.type() != fs::file_type::not_found, + u8string_to_string(path.u8string())); + file_stat rv; rv.mode = file_status_to_mode(status); rv.blksize = 0;