summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/cachefilter-patterns.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/apt-pkg/cachefilter-patterns.cc b/apt-pkg/cachefilter-patterns.cc
index bc0eece30..fded7d92f 100644
--- a/apt-pkg/cachefilter-patterns.cc
+++ b/apt-pkg/cachefilter-patterns.cc
@@ -333,9 +333,12 @@ std::unique_ptr<PatternTreeParser::Node> PatternTreeParser::parseQuotedWord()
// Parse a bare word atom
std::unique_ptr<PatternTreeParser::Node> PatternTreeParser::parseWord(bool shrt)
{
+ // Characters not allowed at the start of a word (also see ..._SHRT)
static const constexpr auto DISALLOWED_START = "!?~|,() \0"_sv;
+ // Characters terminating a word inside a long pattern
static const constexpr auto DISALLOWED_LONG = "|,()\0"_sv;
- static const constexpr auto DISALLOWED_SHRT = "|,() ?\0"_sv;
+ // Characters terminating a word as a short form argument, should contain all of START.
+ static const constexpr auto DISALLOWED_SHRT = "!?~|,() \0"_sv;
const auto DISALLOWED = shrt ? DISALLOWED_SHRT : DISALLOWED_LONG;
if (DISALLOWED_START.find(sentence[state.offset]) != APT::StringView::npos)