Refactoring: Use common function
This commit is contained in:
parent
5800692fa1
commit
c04f31a2c2
|
@ -52,23 +52,6 @@ static const CWE CWE401(401U); // Improper Release of Memory Before Removing La
|
||||||
static const CWE CWE771(771U); // Missing Reference to Active Allocated Resource
|
static const CWE CWE771(771U); // Missing Reference to Active Allocated Resource
|
||||||
static const CWE CWE772(772U); // Missing Release of Resource after Effective Lifetime
|
static const CWE CWE772(772U); // Missing Release of Resource after Effective Lifetime
|
||||||
|
|
||||||
/**
|
|
||||||
* Count function parameters
|
|
||||||
* \param tok Function name token before the '('
|
|
||||||
*/
|
|
||||||
static unsigned int countParameters(const Token *tok)
|
|
||||||
{
|
|
||||||
tok = tok->tokAt(2);
|
|
||||||
if (tok->str() == ")")
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
unsigned int numpar = 1;
|
|
||||||
while (nullptr != (tok = tok->nextArgument()))
|
|
||||||
numpar++;
|
|
||||||
|
|
||||||
return numpar;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/** List of functions that can be ignored when searching for memory leaks.
|
/** List of functions that can be ignored when searching for memory leaks.
|
||||||
* These functions don't take the address of the given pointer
|
* These functions don't take the address of the given pointer
|
||||||
|
@ -137,7 +120,7 @@ CheckMemoryLeak::AllocType CheckMemoryLeak::getAllocationType(const Token *tok2,
|
||||||
if (Token::Match(tok2, "open|openat|creat|mkstemp|mkostemp|socket (")) {
|
if (Token::Match(tok2, "open|openat|creat|mkstemp|mkostemp|socket (")) {
|
||||||
// simple sanity check of function parameters..
|
// simple sanity check of function parameters..
|
||||||
// TODO: Make such check for all these functions
|
// TODO: Make such check for all these functions
|
||||||
const unsigned int num = countParameters(tok2);
|
const int num = numberOfArguments(tok2);
|
||||||
if (tok2->str() == "open" && num != 2 && num != 3)
|
if (tok2->str() == "open" && num != 2 && num != 3)
|
||||||
return No;
|
return No;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue