diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index e8ce5fa26a6..da279b8f453 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -8855,7 +8855,7 @@ void Tokenizer::findGarbageCode() const syntaxError(tok, code); } } - if (Token::Match(tok, "%num%|%bool%|%char%|%str% %num%|%bool%|%char%|%str%") && !Token::Match(tok, "%str% %str%")) + if (Token::Match(tok, "%num%|%bool%|%char%|%str% %num%|%bool%|%char%|%str%|::") && !Token::Match(tok, "%str% %str%")) syntaxError(tok); if (Token::Match(tok, "%num%|%bool%|%char%|%str% {|(")) { if (tok->strAt(1) == "(") diff --git a/test/cli/fuzz-crash/crash-68f8e0ba3d73255e879027ffd2dd39bf8cc34120 b/test/cli/fuzz-crash/crash-68f8e0ba3d73255e879027ffd2dd39bf8cc34120 new file mode 100644 index 00000000000..fd4f065e79c --- /dev/null +++ b/test/cli/fuzz-crash/crash-68f8e0ba3d73255e879027ffd2dd39bf8cc34120 @@ -0,0 +1 @@ +v f(){B?1::s:t}