aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/path-regex.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/path-regex.hh')
-rw-r--r--src/libstore/path-regex.hh7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libstore/path-regex.hh b/src/libstore/path-regex.hh
index a44e6a2eb..56c2cfc1d 100644
--- a/src/libstore/path-regex.hh
+++ b/src/libstore/path-regex.hh
@@ -3,6 +3,11 @@
namespace nix {
-static constexpr std::string_view nameRegexStr = R"([0-9a-zA-Z\+\-_\?=][0-9a-zA-Z\+\-\._\?=]*)";
+
+static constexpr std::string_view nameRegexStr =
+ // This uses a negative lookahead: (?!\.\.?(-|$))
+ // - deny ".", "..", or those strings followed by '-'
+ // - when it's not those, start again at the start of the input and apply the next regex, which is [0-9a-zA-Z\+\-\._\?=]+
+ R"((?!\.\.?(-|$))[0-9a-zA-Z\+\-\._\?=]+)";
}