diff --git a/src/checkmemoryleak.cpp b/src/checkmemoryleak.cpp index e598e451c..f5dd2c134 100644 --- a/src/checkmemoryleak.cpp +++ b/src/checkmemoryleak.cpp @@ -891,6 +891,7 @@ Token *CheckMemoryLeakInFunction::getcode(const Token *tok, std::listvarId() == varid) { addtoken("use"); + tok = tok2; break; } } diff --git a/test/testmemleak.cpp b/test/testmemleak.cpp index 4d7a66ce3..bcf7fdec2 100644 --- a/test/testmemleak.cpp +++ b/test/testmemleak.cpp @@ -322,9 +322,7 @@ private: // alloc; return use; ASSERT_EQUALS(";;alloc;returnuse;", getcode("int *a = new int[10]; return a;", "a")); - - TODO_ASSERT_EQUALS(";;alloc;returnuse;", getcode("char *a = new char[100]; return (char *)a;", "a")); - ASSERT_EQUALS(";;alloc;returnuseuse;", getcode("char *a = new char[100]; return (char *)a;", "a")); + ASSERT_EQUALS(";;alloc;returnuse;", getcode("char *a = new char[100]; return (char *)a;", "a")); // alloc; return; ASSERT_EQUALS(";;alloc;return;", getcode("char *s = new char[100]; return 0;", "s"));