Skip to content

Commit 1e1bc87

Browse files
Fix #14884 fuzzing timeout (hang) in TemplateSimplifier::expandTemplate() (#8691)
1 parent bcd74c7 commit 1e1bc87

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

lib/templatesimplifier.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,12 @@ TemplateSimplifier::TokenAndName::TokenAndName(Token *token, std::string scope,
170170
if (isFunction())
171171
tok1 = tok1->link()->next();
172172
while (tok1 && !Token::Match(tok1, ";|{")) {
173-
if (tok1->str() == "<")
174-
tok1 = tok1->findClosingBracket();
173+
if (tok1->str() == "<") {
174+
if (const Token* closing = tok1->findClosingBracket())
175+
tok1 = closing;
176+
else
177+
syntaxError(tok1);
178+
}
175179
else if (Token::Match(tok1, "(|[") && tok1->link())
176180
tok1 = tok1->link();
177181
if (tok1)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
template<t>struct e<j><;

0 commit comments

Comments
 (0)