From 244d669a4ecd6ee2c4c21308b301ba6bf4df117f Mon Sep 17 00:00:00 2001 From: chrchr-github Date: Sat, 20 Apr 2024 15:39:43 +0200 Subject: [PATCH] Fix #12631 fuzzing timeout in Tokenizer::simplifyTypedefCpp() --- lib/tokenize.cpp | 2 ++ .../timeout-90ec15c5629f957bf2d497bc9f60c57f252bd2ae | 1 + 2 files changed, 3 insertions(+) create mode 100644 test/cli/fuzz-timeout/timeout-90ec15c5629f957bf2d497bc9f60c57f252bd2ae diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 5ac73edeae0..8d2094c7f5e 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -8667,6 +8667,8 @@ void Tokenizer::findGarbageCode() const if (Token::Match(tok->next(), ")|]|>|%assign%|%or%|%oror%|==|!=|/|>=|<=|&&")) syntaxError(tok); } + if ((!isCPP() || !Token::simpleMatch(tok->previous(), "operator")) && Token::Match(tok, "[,;] ,")) + syntaxError(tok); if (Token::simpleMatch(tok, ".") && !Token::simpleMatch(tok->previous(), ".") && !Token::simpleMatch(tok->next(), ".") && diff --git a/test/cli/fuzz-timeout/timeout-90ec15c5629f957bf2d497bc9f60c57f252bd2ae b/test/cli/fuzz-timeout/timeout-90ec15c5629f957bf2d497bc9f60c57f252bd2ae new file mode 100644 index 00000000000..23ac243e4ab --- /dev/null +++ b/test/cli/fuzz-timeout/timeout-90ec15c5629f957bf2d497bc9f60c57f252bd2ae @@ -0,0 +1 @@ + ama typedef f m ef ef dz e dz e e ef ef m ef dz e,,,,m ef dz e,,,,,K \ No newline at end of file