From a8f296bb6e508c2e8e8c32d7b16ac025984c74e6 Mon Sep 17 00:00:00 2001 From: Reijo Tomperi Date: Wed, 29 Apr 2009 21:40:21 +0300 Subject: [PATCH] Added test case TestMemleak::free_member_in_sub_func for ticket #253 http://apps.sourceforge.net/trac/cppcheck/ticket/253 --- test/testmemleak.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/testmemleak.cpp b/test/testmemleak.cpp index d71017b37..d4219764a 100644 --- a/test/testmemleak.cpp +++ b/test/testmemleak.cpp @@ -205,6 +205,7 @@ private: TEST_CASE(vcl2); TEST_CASE(autoptr1); + TEST_CASE(free_member_in_sub_func); } @@ -2055,6 +2056,36 @@ private: ASSERT_EQUALS("", errout.str()); } + void free_member_in_sub_func() + { + check("class Tokenizer\n" + "{\n" + "public:\n" + " Tokenizer();\n" + " ~Tokenizer();\n" + "\n" + "private:\n" + " int *_tokens;\n" + " static void deleteTokens(int *tok);\n" + "};\n" + "\n" + "Tokenizer::Tokenizer()\n" + "{\n" + " _tokens = new int;\n" + "}\n" + "\n" + "Tokenizer::~Tokenizer()\n" + "{\n" + " deleteTokens(_tokens);\n" + " _tokens = 0;\n" + "}\n" + "\n" + "void Tokenizer::deleteTokens(int *tok)\n" + "{\n" + " delete tok;\n" + "}\n", true); + TODO_ASSERT_EQUALS("", errout.str()); + } }; REGISTER_TEST(TestMemleak)