Skip to content

Commit 37dc795

Browse files
Fix #12702 fuzzing crash in TemplateSimplifier::useDefaultArgumentValues (#6387)
1 parent 89f5657 commit 37dc795

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

lib/tokenize.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8766,6 +8766,8 @@ void Tokenizer::findGarbageCode() const
87668766
// Garbage templates..
87678767
if (isCPP()) {
87688768
for (const Token *tok = tokens(); tok; tok = tok->next()) {
8769+
if (Token::simpleMatch(tok, "< >") && !(Token::Match(tok->tokAt(-1), "%name%") || (tok->tokAt(-1) && Token::Match(tok->tokAt(-2), "operator %op%"))))
8770+
syntaxError(tok);
87698771
if (!Token::simpleMatch(tok, "template <"))
87708772
continue;
87718773
if (tok->previous() && !Token::Match(tok->previous(), ":|;|{|}|)|>|\"C++\"")) {
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
template<#p<>tu< <>tu=e

0 commit comments

Comments
 (0)