summaryrefslogtreecommitdiff
path: root/apt-pkg/cachefilter-patterns.cc
diff options
context:
space:
mode:
authorJulian Andres Klode <julian.klode@canonical.com>2020-02-03 12:15:07 +0100
committerJulian Andres Klode <julian.klode@canonical.com>2020-02-03 12:55:54 +0100
commit404771d0ec11f26a0b631018719e2918a049455b (patch)
treed7f2bed62c67b05e01095865056634db0f9b6be7 /apt-pkg/cachefilter-patterns.cc
parent11a40ab11f72f85e905bdba4d3274870fbcaeaee (diff)
patterns: test for empty terms, reject them
Diffstat (limited to 'apt-pkg/cachefilter-patterns.cc')
-rw-r--r--apt-pkg/cachefilter-patterns.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/apt-pkg/cachefilter-patterns.cc b/apt-pkg/cachefilter-patterns.cc
index 1c92a7b1f..5a58a9767 100644
--- a/apt-pkg/cachefilter-patterns.cc
+++ b/apt-pkg/cachefilter-patterns.cc
@@ -263,6 +263,9 @@ std::unique_ptr<PatternTreeParser::Node> PatternTreeParser::parsePattern()
node->term = sentence.substr(node->start, state.offset - node->start);
+ if (node->term.size() <= 1)
+ throw Error{*node, "Pattern must have a term/name"};
+
node->end = skipSpace();
// We don't have any arguments, return node;
if (sentence[state.offset] != '(')