diff --git a/lib/templatesimplifier.cpp b/lib/templatesimplifier.cpp index 1291993990d..349894b2b89 100644 --- a/lib/templatesimplifier.cpp +++ b/lib/templatesimplifier.cpp @@ -1153,6 +1153,8 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration) instantiationArgs[index].push_back(tok1); tok1 = tok1->next(); } while (tok1 && tok1 != endLink); + if (!tok1) + syntaxError(end); instantiationArgs[index].push_back(tok1); } else if (tok1->str() == "<" && (tok1->strAt(1) == ">" || (tok1->previous()->isName() && @@ -1162,6 +1164,8 @@ void TemplateSimplifier::useDefaultArgumentValues(TokenAndName &declaration) instantiationArgs[index].push_back(tok1); tok1 = tok1->next(); } while (tok1 && tok1 != endLink); + if (!tok1) + syntaxError(end); instantiationArgs[index].push_back(tok1); } else if (tok1->str() == ",") { ++index; diff --git a/test/cli/fuzz-crash/crash-7c3e963c9c28dab506696d0dbe8aaf8772d5302f b/test/cli/fuzz-crash/crash-7c3e963c9c28dab506696d0dbe8aaf8772d5302f new file mode 100644 index 00000000000..ff8d3a2d0ac --- /dev/null +++ b/test/cli/fuzz-crash/crash-7c3e963c9c28dab506696d0dbe8aaf8772d5302f @@ -0,0 +1 @@ +h>teu<""e<>;templateteu=d