@@ -54,16 +54,15 @@ class TestBufferOverrun : public TestFixture {
5454 Tokenizer tokenizer (&settings, this );
5555 std::istringstream istr (code);
5656 tokenizer.tokenize (istr, filename);
57- tokenizer.simplifyTokenList2 ();
5857
5958 // Clear the error buffer..
6059 errout.str (" " );
6160
6261 // Check for buffer overruns..
6362 CheckBufferOverrun checkBufferOverrun (&tokenizer, &settings, this );
64- checkBufferOverrun.bufferOverrun ( );
65- checkBufferOverrun. bufferOverrun2 ();
66- checkBufferOverrun.arrayIndexThenCheck ( );
63+ checkBufferOverrun.runChecks (&tokenizer, &settings, this );
64+ tokenizer. simplifyTokenList2 ();
65+ checkBufferOverrun.runSimplifiedChecks (&tokenizer, &settings, this );
6766 }
6867
6968 void run () {
@@ -2001,6 +2000,13 @@ class TestBufferOverrun : public TestFixture {
20012000 " if ( name[0] == 'U' ? name[1] : 0) {}\n "
20022001 " }" );
20032002 ASSERT_EQUALS (" " , errout.str ());
2003+
2004+ check (" int main(int argc, char **argv) {\n "
2005+ " char str[6] = \"\\ 0\" ;\n "
2006+ " unsigned short port = 65535;\n "
2007+ " snprintf(str, sizeof(str), \" %hu\" , port);\n "
2008+ " }" , settings0, " test.c" );
2009+ ASSERT_EQUALS (" " , errout.str ());
20042010 }
20052011
20062012 void array_index_same_struct_and_var_name () {
0 commit comments