From 8122e0e5ef75e3f702d0ed1b16cdee60a6b517a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20Gunne=20Lindstr=C3=B6m?= Date: Wed, 28 Jan 2026 10:08:45 +0100 Subject: [PATCH 1/3] Add crash file --- .../fuzz-crash/crash-1c67200986f8cd9788ccf3dbb764d49cb67819b1 | 1 + 1 file changed, 1 insertion(+) create mode 100644 test/cli/fuzz-crash/crash-1c67200986f8cd9788ccf3dbb764d49cb67819b1 diff --git a/test/cli/fuzz-crash/crash-1c67200986f8cd9788ccf3dbb764d49cb67819b1 b/test/cli/fuzz-crash/crash-1c67200986f8cd9788ccf3dbb764d49cb67819b1 new file mode 100644 index 00000000000..06055955e6b --- /dev/null +++ b/test/cli/fuzz-crash/crash-1c67200986f8cd9788ccf3dbb764d49cb67819b1 @@ -0,0 +1 @@ +e U U,i \ No newline at end of file From 73d3b6714a57530c43a6dffc01ac51c92a26902e Mon Sep 17 00:00:00 2001 From: Ludvig Gunne Lindstrom Date: Wed, 28 Jan 2026 11:02:03 +0100 Subject: [PATCH 2/3] Add test --- test/testgarbage.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/testgarbage.cpp b/test/testgarbage.cpp index 2bfb1283587..21a15082bc1 100644 --- a/test/testgarbage.cpp +++ b/test/testgarbage.cpp @@ -258,6 +258,7 @@ class TestGarbage : public TestFixture { TEST_CASE(garbageCode227); TEST_CASE(garbageCode228); TEST_CASE(garbageCode229); + TEST_CASE(garbageCode230); TEST_CASE(garbageCodeFuzzerClientMode1); // test cases created with the fuzzer client, mode 1 @@ -1771,6 +1772,9 @@ class TestGarbage : public TestFixture { ASSERT_THROW_INTERNAL(checkCode("void f() {} [[maybe_unused]]"), SYNTAX); ASSERT_THROW_INTERNAL(checkCode("void f() {} [[unused]]"), SYNTAX); } + void garbageCode230() { // #14432 + ASSERT_THROW_INTERNAL(checkCode("e U U,i"), SYNTAX); + } void syntaxErrorFirstToken() { From 65f015fd3911c78a89491e52da9b75b53eafd9d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20Gunne=20Lindstr=C3=B6m?= Date: Wed, 28 Jan 2026 10:08:55 +0100 Subject: [PATCH 3/3] Fix #14432 --- lib/tokenize.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 27dfe9ebadc..da90e2734f7 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -4871,6 +4871,8 @@ void Tokenizer::setVarIdPass1() mTemplateSimplifier->getUsedVariables(), variableMap.map(true), mTemplateVarIdUsage); + if (!tok3->next()) + syntaxError(tok3); } }