From 730170969932d6bc0909998e3a0df74b8a350eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sat, 20 Dec 2008 08:53:42 +0000 Subject: [PATCH] buffer overruns : renamed functions + minor simplification --- checkbufferoverrun.cpp | 15 ++++----------- checkbufferoverrun.h | 4 ++-- cppcheck.cpp | 4 ++-- testbufferoverrun.cpp | 2 +- 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/checkbufferoverrun.cpp b/checkbufferoverrun.cpp index 3da7a950c..b8012af58 100644 --- a/checkbufferoverrun.cpp +++ b/checkbufferoverrun.cpp @@ -520,7 +520,7 @@ void CheckBufferOverrunClass::CheckBufferOverrun_StructVariable() -void CheckBufferOverrunClass::CheckBufferOverrun() +void CheckBufferOverrunClass::bufferOverrun() { CheckBufferOverrun_LocalVariable(); CheckBufferOverrun_StructVariable(); @@ -538,21 +538,14 @@ void CheckBufferOverrunClass::CheckBufferOverrun() // Dangerous functions //--------------------------------------------------------------------------- -void CheckBufferOverrunClass::WarningDangerousFunctions() +void CheckBufferOverrunClass::dangerousFunctions() { for (const TOKEN *tok = _tokenizer->tokens(); tok; tok = tok->next()) { - if (TOKEN::Match(tok, "gets (")) + if (TOKEN::Match(tok, "gets|scanf (")) { std::ostringstream ostr; - ostr << _tokenizer->fileLine(tok) << ": Found 'gets'. You should use 'fgets' instead"; - _errorLogger->reportErr(ostr.str()); - } - - else if (TOKEN::Match(tok, "scanf (") && strcmp(tok->strAt(2),"\"%s\"") == 0) - { - std::ostringstream ostr; - ostr << _tokenizer->fileLine(tok) << ": Found 'scanf'. You should use 'fgets' instead"; + ostr << _tokenizer->fileLine(tok) << ": Found '" << tok->str() << "'. You should use 'fgets' instead"; _errorLogger->reportErr(ostr.str()); } } diff --git a/checkbufferoverrun.h b/checkbufferoverrun.h index 34ba7b485..ac396a42f 100644 --- a/checkbufferoverrun.h +++ b/checkbufferoverrun.h @@ -32,11 +32,11 @@ public: ~CheckBufferOverrunClass(); // Buffer overrun.. - void CheckBufferOverrun(); + void bufferOverrun(); // Dangerous functions that can cause buffer overruns - void WarningDangerousFunctions(); + void dangerousFunctions(); private: void CheckBufferOverrun_StructVariable(); void CheckBufferOverrun_LocalVariable(); diff --git a/cppcheck.cpp b/cppcheck.cpp index f370235c7..b452761f8 100644 --- a/cppcheck.cpp +++ b/cppcheck.cpp @@ -246,7 +246,7 @@ void CppCheck::checkFile(const std::string &code, const char FileName[]) // Buffer overruns.. CheckBufferOverrunClass checkBufferOverrun( &_tokenizer, _settings, this ); - checkBufferOverrun.CheckBufferOverrun(); + checkBufferOverrun.bufferOverrun(); // Check that all class constructors are ok. checkClass.constructors(); @@ -271,7 +271,7 @@ void CppCheck::checkFile(const std::string &code, const char FileName[]) // Dangerous functions, such as 'gets' and 'scanf' - checkBufferOverrun.WarningDangerousFunctions(); + checkBufferOverrun.dangerousFunctions(); // Invalid function usage.. diff --git a/testbufferoverrun.cpp b/testbufferoverrun.cpp index 1d81a419f..76f3242ae 100644 --- a/testbufferoverrun.cpp +++ b/testbufferoverrun.cpp @@ -57,7 +57,7 @@ private: Settings settings; settings._showAll = true; CheckBufferOverrunClass checkBufferOverrun( &tokenizer, settings, this ); - checkBufferOverrun.CheckBufferOverrun(); + checkBufferOverrun.bufferOverrun(); } void run()