diff --git a/lib/templatesimplifier.cpp b/lib/templatesimplifier.cpp index 1f90593560f..3e47625ad53 100644 --- a/lib/templatesimplifier.cpp +++ b/lib/templatesimplifier.cpp @@ -219,9 +219,8 @@ TemplateSimplifier::TokenAndName::TokenAndName(Token *token, std::string scope, } // make sure at most only one family flag is set - assert(isClass() ? !(isFunction() || isVariable()) : true); - assert(isFunction() ? !(isClass() || isVariable()) : true); - assert(isVariable() ? !(isClass() || isFunction()) : true); + if (isClass() + isFunction() + isVariable() > 1) + syntaxError(token); if (mToken) mToken->templateSimplifierPointer(this); diff --git a/test/cli/fuzz-crash/crash-5ac13e244448ff767f6596c220edb9ef7b61fa6d b/test/cli/fuzz-crash/crash-5ac13e244448ff767f6596c220edb9ef7b61fa6d new file mode 100644 index 00000000000..7bbc08cfd6d --- /dev/null +++ b/test/cli/fuzz-crash/crash-5ac13e244448ff767f6596c220edb9ef7b61fa6d @@ -0,0 +1 @@ +template<>struct t<>();