Memory leaks: don't translate 'return p[10];' to 'return use ;'
This commit is contained in:
parent
33bf8bf730
commit
6d94c4f15e
|
@ -1266,6 +1266,7 @@ Token *CheckMemoryLeakInFunction::getcode(const Token *tok, std::list<const Toke
|
||||||
|
|
||||||
else if (varid && Token::Match(tok, "return &| %varid%", varid))
|
else if (varid && Token::Match(tok, "return &| %varid%", varid))
|
||||||
{
|
{
|
||||||
|
if (!Token::Match(tok, "return %var% ["))
|
||||||
addtoken("use");
|
addtoken("use");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -453,6 +453,7 @@ private:
|
||||||
|
|
||||||
// alloc; return;
|
// alloc; return;
|
||||||
ASSERT_EQUALS(";;alloc;return;", getcode("char *s = new char[100]; return 0;", "s"));
|
ASSERT_EQUALS(";;alloc;return;", getcode("char *s = new char[100]; return 0;", "s"));
|
||||||
|
ASSERT_EQUALS(";;alloc;return;", getcode("char *s = new char[100]; return s[0];", "s"));
|
||||||
|
|
||||||
// lock/unlock..
|
// lock/unlock..
|
||||||
ASSERT_EQUALS(";;alloc;", getcode("int a; __cppcheck_lock();", ""));
|
ASSERT_EQUALS(";;alloc;", getcode("int a; __cppcheck_lock();", ""));
|
||||||
|
|
Loading…
Reference in New Issue