From 98a84b62a32b6f6488b42f0ac10e8128812ae659 Mon Sep 17 00:00:00 2001 From: orbitcowboy Date: Sun, 22 Aug 2021 20:01:25 +0200 Subject: [PATCH] #2019: Added regression test --- test/testbufferoverrun.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 564ec207b..f1ad29a02 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -185,6 +185,7 @@ private: TEST_CASE(buffer_overrun_30); // #6367 TEST_CASE(buffer_overrun_31); TEST_CASE(buffer_overrun_32); //#10244 + TEST_CASE(buffer_overrun_33); //#2019 TEST_CASE(buffer_overrun_errorpath); TEST_CASE(buffer_overrun_bailoutIfSwitch); // ticket #2378 : bailoutIfSwitch TEST_CASE(buffer_overrun_function_array_argument); @@ -2799,6 +2800,17 @@ private: ASSERT_EQUALS("[test.cpp:5]: (error, inconclusive) Buffer is accessed out of bounds: src\n", errout.str()); } + void buffer_overrun_33() { // #2019 + check("int f() {\n" + " int z[16];\n" + " for (int i=0; i<20; i++)\n" + " for (int j=0; j<20; j++)\n" + " z[i] = 0;\n" + " return z[0];\n" + "}"); + ASSERT_EQUALS("[test.cpp:5]: (error) Array 'z[16]' accessed at index 19, which is out of bounds.\n", errout.str()); + } + void buffer_overrun_errorpath() { setMultiline(); settings0.templateLocation = "{file}:{line}:note:{info}";