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; }