Fixed #2202 (false postive: Data is allocated but not initialized: rbdc)

This commit is contained in:
Daniel Marjamäki 2010-11-15 17:11:08 +01:00
parent 36d80d6eaa
commit 6d1c0687c9
2 changed files with 8 additions and 1 deletions

View File

@ -774,7 +774,7 @@ private:
const Token *tok2 = tok.next();
while (Token::Match(tok2, ". %var%"))
tok2 = tok2->tokAt(2);
if (tok2 && tok2->str() != "=")
if (tok2 && tok2->str() != "=" && tok.strAt(-1) != "&")
use_pointer(checks, &tok);
else
bailOutVar(checks, tok.varId());

View File

@ -942,6 +942,13 @@ private:
"};\n");
ASSERT_EQUALS("", errout.str());
checkUninitVar("void f()\n"
"{\n"
" Fred *fred = malloc(sizeof(Fred));\n"
" x(&fred->f);\n"
"};\n");
ASSERT_EQUALS("", errout.str());
checkUninitVar("void foo(char *s)\n"
"{\n"
" char *a = malloc(100);\n"