diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index bc5d1c7443f..3580cda4008 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -8681,6 +8681,8 @@ void Tokenizer::findGarbageCode() const syntaxError(tok); if (Token::Match(tok, "%assign% [;)}]") && (!cpp || !Token::simpleMatch(tok->previous(), "operator"))) syntaxError(tok); + if (Token::Match(tok, "; %assign%")) + syntaxError(tok); if (Token::Match(tok, "%cop%|=|,|[ %or%|%oror%|/|%")) syntaxError(tok); if (Token::Match(tok, "[;([{] %comp%|%oror%|%or%|%|/")) diff --git a/test/cli/fuzz-crash/crash-772965250be2580c7c52f024c15fd5c8a9bb13c7 b/test/cli/fuzz-crash/crash-772965250be2580c7c52f024c15fd5c8a9bb13c7 new file mode 100644 index 00000000000..a010a5fcfcc --- /dev/null +++ b/test/cli/fuzz-crash/crash-772965250be2580c7c52f024c15fd5c8a9bb13c7 @@ -0,0 +1 @@ +enum{C=e;=U}; \ No newline at end of file