From c7821675dd712e864bba9d54ef6d46dbde0a274b Mon Sep 17 00:00:00 2001 From: Erik Lax Date: Fri, 11 Feb 2011 18:57:58 +0100 Subject: [PATCH] Preprocessor: Test handling of strings with multiple spaces (Ticket: #2548) --- test/testbufferoverrun.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/testbufferoverrun.cpp b/test/testbufferoverrun.cpp index 4966231ba..189e4364b 100644 --- a/test/testbufferoverrun.cpp +++ b/test/testbufferoverrun.cpp @@ -133,6 +133,7 @@ private: TEST_CASE(buffer_overrun_14); TEST_CASE(buffer_overrun_15); // ticket #1787 TEST_CASE(buffer_overrun_16); + TEST_CASE(buffer_overrun_17); // ticket #2548 TEST_CASE(buffer_overrun_bailoutIfSwitch); // ticket #2378 : bailoutIfSwitch // It is undefined behaviour to point out of bounds of an array @@ -1860,6 +1861,15 @@ private: ASSERT_EQUALS("", errout.str()); } + void buffer_overrun_17() // ticket #2548 + { + check("void f() {\n" + " char t[8];\n" + " sprintf(t, \"%s\", \"foo bar\");\n" + "}\n"); + ASSERT_EQUALS("[test.cpp:3]: (error) Buffer access out-of-bounds\n", errout.str()); + } + void buffer_overrun_bailoutIfSwitch() { // No false positive