From 686ff425f9f92a530d9cf705cc10165c9f88deff Mon Sep 17 00:00:00 2001 From: Reijo Tomperi Date: Wed, 2 Sep 2009 23:51:07 +0300 Subject: [PATCH] Fix ticket #637 (False positive, Using 'memset' on struct that contains a 'std::string') http://sourceforge.net/apps/trac/cppcheck/ticket/637 --- src/checkclass.cpp | 2 +- test/testclass.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/checkclass.cpp b/src/checkclass.cpp index dd1c6f804..f97c9431f 100644 --- a/src/checkclass.cpp +++ b/src/checkclass.cpp @@ -649,7 +649,7 @@ void CheckClass::noMemset() } // Warn if type is a struct that contains any std::* - const std::string pattern2(std::string("struct ") + type); + const std::string pattern2(std::string("struct ") + type + " {"); for (const Token *tstruct = Token::findmatch(_tokenizer->tokens(), pattern2.c_str()); tstruct; tstruct = tstruct->next()) { if (tstruct->str() == "}") diff --git a/test/testclass.cpp b/test/testclass.cpp index bce450a65..65becb5ed 100644 --- a/test/testclass.cpp +++ b/test/testclass.cpp @@ -685,7 +685,7 @@ private: " struct sockaddr_in6 fail;\n" " memset(&fail, 0, sizeof(struct sockaddr_in6));\n" "}\n"); - TODO_ASSERT_EQUALS("", errout.str()); + ASSERT_EQUALS("", errout.str()); checkNoMemset("struct A\n" "{\n"