From 005765a561fbe59ac18a5a0316274f6bdabe06d0 Mon Sep 17 00:00:00 2001 From: Ken-Patrick Lehrmann Date: Mon, 2 Sep 2019 06:50:56 +0200 Subject: [PATCH] Clarify valueFlowUninit (#2136) https://github.com/danmar/cppcheck/pull/2129#issuecomment-526916467 --- lib/checkuninitvar.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/checkuninitvar.cpp b/lib/checkuninitvar.cpp index d0a03f7c5..5208fece7 100644 --- a/lib/checkuninitvar.cpp +++ b/lib/checkuninitvar.cpp @@ -1333,7 +1333,7 @@ void CheckUninitVar::valueFlowUninit() for (const Scope &scope : symbolDatabase->scopeList) { if (!scope.isExecutable()) continue; - for (const Token* tok = scope.bodyStart; tok && tok != scope.bodyEnd; tok = tok->next()) { + for (const Token* tok = scope.bodyStart; tok != scope.bodyEnd; tok = tok->next()) { if (Token::simpleMatch(tok, "sizeof (")) { tok = tok->linkAt(1); continue; @@ -1364,6 +1364,8 @@ void CheckUninitVar::valueFlowUninit() while (Token::simpleMatch(nextTok->astParent(), ".")) nextTok = nextTok->astParent(); nextTok = nextAfterAstRightmostLeaf(nextTok); + if(nextTok == scope.bodyEnd) + break; tok = nextTok ? nextTok : tok; } }