diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index d93d9eea5..54a7a7e53 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -5465,8 +5465,8 @@ void Tokenizer::simplifyVarDecl(Token * tokBegin, Token * tokEnd, bool only_k_r_ } break; } - - tok2 = tok2->next(); + if (tok2) + tok2 = tok2->next(); } } finishedwithkr = (only_k_r_fpar && tok2 && tok2->strAt(1) == "{"); diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index 840a2dca4..09b0bccb0 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -996,7 +996,8 @@ private: } void garbageCode7() { - tokenizeAndStringify(" 1 (int j) { return return (c) * sizeof } y[1];", /*simplify=*/true); + tokenizeAndStringify("1 (int j) { return return (c) * sizeof } y[1];", /*simplify=*/true); + tokenizeAndStringify("foo(Args&&...) fn void = { } auto template