From c1e280217527d0f426738c34d2f7fb6d3abebdd1 Mon Sep 17 00:00:00 2001 From: Ettl Martin Date: Tue, 31 Jan 2012 16:25:57 +0100 Subject: [PATCH] ticket 3569: added further testcases --- test/testbufferoverrun.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 94942dcb9..c4e85707a 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -1363,6 +1363,38 @@ private: " free(p);\n" "}\n"); ASSERT_EQUALS("", errout.str()); + + check("void f()\n" + "{\n" + " char *p = new char[10];\n" + " p[0] = 0;\n" + " p[9] = 9;\n" + " delete [] p;\n" + "}\n"); + ASSERT_EQUALS("", errout.str()); + + check("void f()\n" + "{\n" + " char *p(new char[10]);\n" + " p[0] = 0;\n" + " p[9] = 9;\n" + " delete [] p;\n" + "}\n"); + ASSERT_EQUALS("", errout.str()); + + check("void f()\n" + "{\n" + " try{\n" + " char *p(new char[10]);\n" + " }\n" + " catch(...){\n" + " return;\n" + " }" + " p[0] = 0;\n" + " p[9] = 9;\n" + " delete [] p;\n" + "}\n"); + ASSERT_EQUALS("", errout.str()); } void array_index_multidim() {