Fixed ticket #324 (Teach about fcloseall() function)
http://apps.sourceforge.net/trac/cppcheck/ticket/324
This commit is contained in:
parent
b2aaf5d4c7
commit
a2a6eebb01
|
@ -188,7 +188,8 @@ CheckMemoryLeakClass::AllocType CheckMemoryLeakClass::GetDeallocationType(const
|
||||||
if (Token::simpleMatch(tok, std::string("g_free ( " + names + " ) ;").c_str()))
|
if (Token::simpleMatch(tok, std::string("g_free ( " + names + " ) ;").c_str()))
|
||||||
return gMalloc;
|
return gMalloc;
|
||||||
|
|
||||||
if (Token::simpleMatch(tok, std::string("fclose ( " + names + " )").c_str()))
|
if (Token::simpleMatch(tok, std::string("fclose ( " + names + " )").c_str()) ||
|
||||||
|
Token::simpleMatch(tok, "fcloseall ( )"))
|
||||||
return File;
|
return File;
|
||||||
|
|
||||||
if (Token::simpleMatch(tok, std::string("pclose ( " + names + " )").c_str()))
|
if (Token::simpleMatch(tok, std::string("pclose ( " + names + " )").c_str()))
|
||||||
|
|
|
@ -215,6 +215,7 @@ private:
|
||||||
TEST_CASE(stdstring);
|
TEST_CASE(stdstring);
|
||||||
|
|
||||||
TEST_CASE(strndup_function);
|
TEST_CASE(strndup_function);
|
||||||
|
TEST_CASE(fcloseall_function);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2177,6 +2178,16 @@ private:
|
||||||
ASSERT_EQUALS(std::string("[test.cpp:4]: (error) Memory leak: out\n"), errout.str());
|
ASSERT_EQUALS(std::string("[test.cpp:4]: (error) Memory leak: out\n"), errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void fcloseall_function()
|
||||||
|
{
|
||||||
|
check("void f()\n"
|
||||||
|
"{\n"
|
||||||
|
" FILE *f = fopen(fname, str);\n"
|
||||||
|
" fcloseall();\n"
|
||||||
|
"}\n");
|
||||||
|
ASSERT_EQUALS(std::string(""), errout.str());
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_TEST(TestMemleak)
|
REGISTER_TEST(TestMemleak)
|
||||||
|
|
Loading…
Reference in New Issue