From 9c6c4190d8edcb4d9b3444db173ed6d77a3123f4 Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Wed, 8 Jun 2022 16:00:03 +0200 Subject: Disallow upwards-facing inputs in actions and tree constructors --- src/buildtool/build_engine/target_map/utils.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/buildtool/build_engine/target_map/utils.cpp') diff --git a/src/buildtool/build_engine/target_map/utils.cpp b/src/buildtool/build_engine/target_map/utils.cpp index 4dcafa4f..ea3ce0a5 100644 --- a/src/buildtool/build_engine/target_map/utils.cpp +++ b/src/buildtool/build_engine/target_map/utils.cpp @@ -108,6 +108,12 @@ auto BuildMaps::Target::Utils::tree_conflict(const ExpressionPtr& map) return "."; } auto p = std::filesystem::path{path}; + if (p.is_absolute()) { + return p.string(); + } + if (*p.begin() == "..") { + return p.string(); + } auto insert_result = blocked.insert(p); if (not insert_result.second) { return p.string(); // duplicate path -- cgit v1.2.3