From fe0081496c95526ec9491bb043ed7a81e8f6953e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sun, 19 Jul 2020 16:27:56 +0200 Subject: [PATCH] Bug hunting; Avoid bailout uninit FP, arrays --- lib/bughuntingchecks.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/bughuntingchecks.cpp b/lib/bughuntingchecks.cpp index 82c7bdde9..eb38858e1 100644 --- a/lib/bughuntingchecks.cpp +++ b/lib/bughuntingchecks.cpp @@ -296,6 +296,10 @@ static void uninit(const Token *tok, const ExprEngine::Value &value, ExprEngine: if (var && Token::Match(var->nameToken(), "%varid% ;| %varid%| =", tok->varId())) return; + // Arrays are allocated on the stack + if (var && Token::Match(tok, "%var% [") && var->isArray()) + return; + if (tok->variable() && isVariableAssigned(tok->variable(), tok)) return; }