fixed FP when passing uninitialized buffer as 2nd argument to itoa

This commit is contained in:
Daniel Marjamäki 2013-12-13 07:51:33 +01:00
parent 3e6fbc6517
commit abdd29fce3
1 changed files with 2 additions and 2 deletions

View File

@ -136,7 +136,6 @@ void CheckNullPointer::parseFunctionCall(const Token &tok, std::list<const Token
functionNames1_all.insert("ctime"); functionNames1_all.insert("ctime");
functionNames1_all.insert("mktime"); functionNames1_all.insert("mktime");
functionNames1_nullptr.insert("itoa");
functionNames1_nullptr.insert("memcpy"); functionNames1_nullptr.insert("memcpy");
functionNames1_nullptr.insert("memmove"); functionNames1_nullptr.insert("memmove");
functionNames1_nullptr.insert("memset"); functionNames1_nullptr.insert("memset");
@ -158,6 +157,7 @@ void CheckNullPointer::parseFunctionCall(const Token &tok, std::list<const Token
functionNames1_nullptr.insert("localtime"); functionNames1_nullptr.insert("localtime");
functionNames1_nullptr.insert("strftime"); functionNames1_nullptr.insert("strftime");
functionNames1_uninit.insert("itoa"); // value to convert
functionNames1_uninit.insert("perror"); functionNames1_uninit.insert("perror");
functionNames1_uninit.insert("fflush"); functionNames1_uninit.insert("fflush");
functionNames1_uninit.insert("freopen"); functionNames1_uninit.insert("freopen");
@ -167,7 +167,6 @@ void CheckNullPointer::parseFunctionCall(const Token &tok, std::list<const Token
static std::set<std::string> functionNames2_all; // used no matter what 'value' is static std::set<std::string> functionNames2_all; // used no matter what 'value' is
static std::set<std::string> functionNames2_nullptr; // used only if 'value' is 0 static std::set<std::string> functionNames2_nullptr; // used only if 'value' is 0
if (functionNames2_all.empty()) { if (functionNames2_all.empty()) {
functionNames2_all.insert("itoa");
functionNames2_all.insert("mbstowcs"); functionNames2_all.insert("mbstowcs");
functionNames2_all.insert("wcstombs"); functionNames2_all.insert("wcstombs");
functionNames2_all.insert("memcmp"); functionNames2_all.insert("memcmp");
@ -216,6 +215,7 @@ void CheckNullPointer::parseFunctionCall(const Token &tok, std::list<const Token
functionNames2_all.insert("putwc"); functionNames2_all.insert("putwc");
functionNames2_all.insert("freopen"); functionNames2_all.insert("freopen");
functionNames2_nullptr.insert("itoa"); // destination buffer
functionNames2_nullptr.insert("frexp"); functionNames2_nullptr.insert("frexp");
functionNames2_nullptr.insert("modf"); functionNames2_nullptr.insert("modf");
functionNames2_nullptr.insert("fgetpos"); functionNames2_nullptr.insert("fgetpos");