astyle formatting

This commit is contained in:
Daniel Marjamäki 2010-06-02 18:09:25 +02:00
parent 8ead23fc91
commit 5789eb116d
3 changed files with 88 additions and 88 deletions

View File

@ -1525,13 +1525,13 @@ void CheckBufferOverrun::checkInsecureCmdLineArgs()
} }
if (varid == 0) if (varid == 0)
continue; continue;
// Jump to the opening curly brace // Jump to the opening curly brace
tok = tok->next()->link(); tok = tok->next()->link();
if (!tok || !tok->next()) if (!tok || !tok->next())
continue; continue;
tok = tok->next(); tok = tok->next();
// Search within main() for possible buffer overruns involving argv // Search within main() for possible buffer overruns involving argv
int indentlevel = -1; int indentlevel = -1;
for (; tok && tok->next(); tok = tok->next()) for (; tok && tok->next(); tok = tok->next())
@ -1560,16 +1560,16 @@ void CheckBufferOverrun::checkInsecureCmdLineArgs()
cmdLineArgsError(tok); cmdLineArgsError(tok);
} }
else if (Token::Match(tok, "sprintf ( %var% , %str% , %varid% [", varid) && else if (Token::Match(tok, "sprintf ( %var% , %str% , %varid% [", varid) &&
tok->tokAt(4)->str().find("%s") != std::string::npos) tok->tokAt(4)->str().find("%s") != std::string::npos)
{ {
cmdLineArgsError(tok); cmdLineArgsError(tok);
} }
else if (Token::Match(tok, "sprintf ( %var% , %str% , * %varid%", varid) && else if (Token::Match(tok, "sprintf ( %var% , %str% , * %varid%", varid) &&
tok->tokAt(4)->str().find("%s") != std::string::npos) tok->tokAt(4)->str().find("%s") != std::string::npos)
{ {
cmdLineArgsError(tok); cmdLineArgsError(tok);
} }
} }
} }

View File

@ -97,7 +97,7 @@ public:
/** Check for buffer overruns due to allocating strlen(src) bytes instead of (strlen(src)+1) bytes before copying a string */ /** Check for buffer overruns due to allocating strlen(src) bytes instead of (strlen(src)+1) bytes before copying a string */
void checkBufferAllocatedWithStrlen(); void checkBufferAllocatedWithStrlen();
/** Check for buffer overruns due to copying command-line args to fixed-sized buffers without bounds checking */ /** Check for buffer overruns due to copying command-line args to fixed-sized buffers without bounds checking */
void checkInsecureCmdLineArgs(); void checkInsecureCmdLineArgs();

View File

@ -170,7 +170,7 @@ private:
TEST_CASE(crash); // Ticket #1587 - crash TEST_CASE(crash); // Ticket #1587 - crash
TEST_CASE(executionPaths1); TEST_CASE(executionPaths1);
TEST_CASE(cmdLineArgs1); TEST_CASE(cmdLineArgs1);
} }
@ -2293,114 +2293,114 @@ private:
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:7]: (error) Array 'buf[10][5]' index 1000 out of bounds\n", errout.str()); ASSERT_EQUALS("[test.cpp:7]: (error) Array 'buf[10][5]' index 1000 out of bounds\n", errout.str());
} }
void cmdLineArgs1() void cmdLineArgs1()
{ {
check("int main(int argc, char* argv[])\n" check("int main(int argc, char* argv[])\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" strcpy(prog, argv[0]);\n" " strcpy(prog, argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char* argv[])\n" check("int main(int argc, char* argv[])\n"
"{\n" "{\n"
" char prog[10] = {'\\0'};\n" " char prog[10] = {'\\0'};\n"
" strcat(prog, argv[0]);\n" " strcat(prog, argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char* argv[])\n" check("int main(int argc, char* argv[])\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" sprintf(prog, \"%s\", argv[0]);\n" " sprintf(prog, \"%s\", argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char **argv, char **envp)\n" check("int main(int argc, char **argv, char **envp)\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" strcpy(prog, argv[0]);\n" " strcpy(prog, argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char **argv, char **envp)\n" check("int main(int argc, char **argv, char **envp)\n"
"{\n" "{\n"
" char prog[10] = {'\\0'};\n" " char prog[10] = {'\\0'};\n"
" strcat(prog, argv[0]);\n" " strcat(prog, argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char **argv, char **envp)\n" check("int main(int argc, char **argv, char **envp)\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" sprintf(prog, \"%s\", argv[0]);\n" " sprintf(prog, \"%s\", argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char **options)\n" check("int main(int argc, char **options)\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" strcpy(prog, options[0]);\n" " strcpy(prog, options[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char **options)\n" check("int main(int argc, char **options)\n"
"{\n" "{\n"
" char prog[10] = {'\\0'};\n" " char prog[10] = {'\\0'};\n"
" strcat(prog, options[0]);\n" " strcat(prog, options[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char **options)\n" check("int main(int argc, char **options)\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" sprintf(prog, \"%s\", *options);\n" " sprintf(prog, \"%s\", *options);\n"
"}\n"); "}\n");
ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str()); ASSERT_EQUALS("[test.cpp:4]: (error) Buffer overrun possible for long cmd-line args\n", errout.str());
check("int main(int argc, char **argv, char **envp)\n" check("int main(int argc, char **argv, char **envp)\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" if (strlen(argv[0]) < 10)\n" " if (strlen(argv[0]) < 10)\n"
" strcpy(prog, argv[0]);\n" " strcpy(prog, argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("", errout.str()); ASSERT_EQUALS("", errout.str());
check("int main(int argc, char **argv, char **envp)\n" check("int main(int argc, char **argv, char **envp)\n"
"{\n" "{\n"
" char prog[10] = {'\\0'};\n" " char prog[10] = {'\\0'};\n"
" if (10 > strlen(argv[0]))\n" " if (10 > strlen(argv[0]))\n"
" strcat(prog, argv[0]);\n" " strcat(prog, argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("", errout.str()); ASSERT_EQUALS("", errout.str());
check("int main(int argc, char **argv, char **envp)\n" check("int main(int argc, char **argv, char **envp)\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" sprintf(prog, \"%p\", argv[0]);\n" " sprintf(prog, \"%p\", argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("", errout.str()); ASSERT_EQUALS("", errout.str());
check("int main(int argc, char **argv, char **envp)\n" check("int main(int argc, char **argv, char **envp)\n"
"{\n" "{\n"
" char prog[10];\n" " char prog[10];\n"
" argv[0][0] = '\\0';\n" " argv[0][0] = '\\0';\n"
" strcpy(prog, argv[0]);\n" " strcpy(prog, argv[0]);\n"
"}\n"); "}\n");
ASSERT_EQUALS("", errout.str()); ASSERT_EQUALS("", errout.str());
} }
}; };