Commit Graph

10788 Commits

Author SHA1 Message Date
Reijo Tomperi d4a7256686 Added test case TestTokenizer::varid_delete for ticket #269
http://apps.sourceforge.net/trac/cppcheck/ticket/269
2009-04-29 22:22:56 +03:00
Reijo Tomperi a8f296bb6e Added test case TestMemleak::free_member_in_sub_func for ticket #253
http://apps.sourceforge.net/trac/cppcheck/ticket/253
2009-04-29 21:40:21 +03:00
Daniel Marjamäki ad4c7993d1 stl: checking that iterator is used against a single container 2009-04-29 20:16:04 +02:00
Daniel Marjamäki 2a200cff00 stl: added todo test case about using same iterator with different containers 2009-04-29 17:32:38 +02:00
Daniel Marjamäki b90fdfed1d changed todo comment to TODO_ASSERT_EQUALS 2009-04-28 21:44:31 +02:00
Daniel Marjamäki f9795988eb checkstl: Check for invalid pointer to vector element 2009-04-28 21:18:02 +02:00
Daniel Marjamäki 8075cd8b9d added todo test case for detecting unmodified containers in the operator= function 2009-04-28 20:50:10 +02:00
Daniel Marjamäki bb154da394 memory leaks: handling std::auto_ptr (#266) 2009-04-28 20:01:35 +02:00
Daniel Marjamäki 67eb54c4c0 Merge branch 'abc' 2009-04-27 21:29:29 +02:00
Daniel Marjamäki b49997e69d bail out instead of crash when parsing unicode code (#207) 2009-04-27 21:29:03 +02:00
Reijo Tomperi d8f6636673 Improve fix to ticket #261: Allow macro definition to have uncoupled double quote.
http://apps.sourceforge.net/trac/cppcheck/ticket/261
2009-04-26 22:19:08 +03:00
Daniel Marjamäki 7b58e09a07 Preprocessor: Report correct file and line in message 'No pair for character..' (#261) 2009-04-26 11:05:32 +02:00
Daniel Marjamäki ebd15cec0f push_back: updated the checking of push_back (#263) 2009-04-25 17:14:02 +02:00
Daniel Marjamäki 49430afabe varid: Set variable id for stl containers and iterators 2009-04-25 16:55:00 +02:00
Daniel Marjamäki ef54e446db push_back: added a few todo test cases for the checking of push_back 2009-04-25 16:32:37 +02:00
Daniel Marjamäki 8e15a9e79d xml generator: handle '<' and '>' (#263) 2009-04-23 21:59:26 +02:00
Reijo Tomperi 14eff64194 Fix ticket #258 (segmentation fault)
http://apps.sourceforge.net/trac/cppcheck/ticket/258
2009-04-20 21:38:05 +03:00
Daniel Marjamäki ca8f25fced return pointer to local array: fixed false positive when return value is converted to for instance a std::string (#255) 2009-04-19 16:47:54 +02:00
Daniel Marjamäki 7cddc52d8f mathlib: Fixed todo 3/2=1 2009-04-16 22:06:17 +02:00
Daniel Marjamäki 3c3a56bfca private functions: don't report false positives when using initialization lists (#254) 2009-04-14 21:46:13 +02:00
Daniel Marjamäki 7750f327ff STL boundries: added new check written by Bill Eggert (#247) 2009-04-13 17:48:13 +02:00
Daniel Marjamäki 9a086c118f math lib: 3/2 should result in 1 2009-04-12 18:45:42 +02:00
Reijo Tomperi 1f53fb7149 Fix ticket #248 (STL erase check broken?)
http://apps.sourceforge.net/trac/cppcheck/ticket/248
2009-04-10 14:27:36 +03:00
Daniel Marjamäki 97f5380a2c added testing for mathlib 2009-04-06 19:08:13 +02:00
Reijo Tomperi 51d97fa831 Fix ticket #212 (Tokenizer: Handle L "text")
http://apps.sourceforge.net/trac/cppcheck/ticket/212
2009-04-05 22:21:38 +03:00
Leandro Lisboa Penz 82cb229871 checkmemoryleak: fixed and reactivated forwhile9 and forwhile10 tests. 2009-04-04 20:55:45 -03:00
Reijo Tomperi 11858129d0 Fix ticket #243 (boundary checking)
http://apps.sourceforge.net/trac/cppcheck/ticket/243
2009-04-04 21:05:48 +03:00
Reijo Tomperi 07af9cf7c8 astyle fix 2009-04-03 22:10:27 +03:00
Reijo Tomperi 7a11f0e61f Fix ticket #242 (Preprocessor: Bail out on failure instead of terminating the program)
http://apps.sourceforge.net/trac/cppcheck/ticket/242
2009-04-03 22:09:12 +03:00
Daniel Marjamäki ebee7928e2 operator=: changed error message when variable is not assigned 2009-03-31 19:00:56 +02:00
Reijo Tomperi 14bdf1ee62 Fix ticket #239 (missing function implementation in namespace causes crash)
http://apps.sourceforge.net/trac/cppcheck/ticket/239
2009-03-31 00:59:33 +03:00
Daniel Marjamäki 263c5b9e5a division with zero => division by zero 2009-03-29 20:27:10 +02:00
Daniel Marjamäki d7aee72fcd zero division: it's an error 2009-03-29 18:47:05 +02:00
Daniel Marjamäki e45bb20f92 tokenizer: don't replace sizeof when size can't be determined (#233) 2009-03-29 16:36:34 +02:00
Gianluca Scacco f5104d6d0a Added new test to autovariable 2009-03-28 21:54:12 +01:00
Gianluca Scacco c88a362893 Fixed ticket #228: false positive with usage of an auto-variable 2009-03-28 21:47:38 +01:00
Daniel Marjamäki 6f7f8c4b4f Tokenizer: Don't treat typedefs as variable declarations (#234) 2009-03-28 21:07:33 +01:00
Daniel Marjamäki 4c4f138639 Memory leaks: refactoring the TODO test cases 2009-03-28 20:50:09 +01:00
Nicolas Le Cam ad7df1cbe0 Add TestMemleak::realloc4 that currently fail.
Change TestMemleak::if10, TestMemleak::forwhile8 and TestMemleak::realloc2 as they are currently leaking memory, mark them as TODO.
Comment out TestMemleak::forwhile9 and TestMemleak::forwhile10 as they are wrong (infinite loops).
2009-03-28 16:21:55 +01:00
Daniel Marjamäki 022dbc651e removed TestOther::zeroDiv3 - it is not valid 2009-03-28 08:02:15 +01:00
Daniel Marjamäki 4059a2ad05 added check for zero division. The code was written by Nguyen Duong Tuan 2009-03-28 07:49:47 +01:00
Daniel Marjamäki c0b608059a possible null pointer dereference after a while-loop 2009-03-27 17:19:34 +01:00
Daniel Marjamäki 7afccc395a testing: new handling of todo test cases. If they use TODO_ASSERT_EQUALS instead we can detect when they are fixed 2009-03-25 18:31:40 +01:00
Daniel Marjamäki 0cfa241abb variable id: enabled test case for function parameters 2009-03-25 18:15:49 +01:00
Daniel Marjamäki c74da7bab9 variable id: give std::string variables an id 2009-03-25 18:10:03 +01:00
Daniel Marjamäki b9f4a773b8 Buffer overrun: Added check to detect when size argument to memset is a char constant (#213) 2009-03-25 07:25:10 +01:00
Daniel Marjamäki 9f3634412e simplify tokens (known variable values in conditions) 2009-03-25 07:10:17 +01:00
Daniel Marjamäki afcaa30b51 Fixed ticket 216 (False positive: variable scope) 2009-03-24 20:59:56 +01:00
Daniel Marjamäki c0039a2551 added testcase 2009-03-24 20:24:03 +01:00
Daniel Marjamäki 6580e0eb21 fixed snprintf false positive (#210) 2009-03-24 18:43:39 +01:00
Daniel Marjamäki 65070cc067 Simplify if conditions more.. simplifyIfAssign + simplifyIfNot 2009-03-24 18:23:21 +01:00
Daniel Marjamäki 44c952873e Fixed ticket 205 (False positive: char variable used in bit operation) 2009-03-23 19:04:51 +01:00
Daniel Marjamäki 06776c6ac7 Fixed the testcase TestMemleak::realloc3 2009-03-23 18:34:59 +01:00
Daniel Marjamäki 7905cbc5e7 simplify tokens: move assignment out from condition (Ticket #201) 2009-03-23 18:20:56 +01:00
Daniel Marjamäki c9d02273b8 added todo test case for ticket 200 2009-03-22 21:42:01 +01:00
Vesa Pikki f04bdccee4 Astyle formatting. 2009-03-22 15:15:16 +02:00
Gianluca Scacco 416115e38f Fixed error compiling testautovariables 2009-03-22 12:00:21 +01:00
Daniel Marjamäki da06c12925 refactoring error messages 2009-03-21 18:31:28 +01:00
Daniel Marjamäki aee39ae929 refactoring - handling the stlOutOfBounds error message the new way 2009-03-21 14:20:10 +01:00
Daniel Marjamäki bcad5afb26 refactoring - fixed the unit tests 2009-03-21 14:02:58 +01:00
Daniel Marjamäki 9f1c3cc535 refactoring the rest of the classes 2009-03-20 18:16:21 +01:00
Daniel Marjamäki 21dff96e7b refactoring checkbufferoverrun 2009-03-20 17:35:53 +01:00
Daniel Marjamäki 5914af4481 refactoring CheckClass 2009-03-20 17:30:24 +01:00
Daniel Marjamäki 3fab99a5cb astyle formatting 2009-03-19 19:35:47 +01:00
Daniel Marjamäki 75171cae08 refactoring: fixed the teststl so it is runnable again 2009-03-19 19:35:08 +01:00
Daniel Marjamäki 09ff4fa35f Merge branch 'master' of git@github.com:danmar/cppcheck 2009-03-18 22:41:01 +01:00
Daniel Marjamäki a573c62cd5 refactoring: first step - started with checkstl 2009-03-18 22:40:38 +01:00
Nicolas Le Cam 2b199ffb9b Fix compilation on 64bit systems 2009-03-18 22:13:27 +01:00
Daniel Marjamäki f37dd4f143 Fixed ticket 184 (Tokenizer - Simplification: Split up variable declarations) 2009-03-18 20:32:05 +01:00
Reijo Tomperi 2fb4c52728 Fixed tokenizer: "return - 2 ;" --> "return -2 ;" 2009-03-18 20:48:06 +02:00
Reijo Tomperi ca055dc830 Fix ticket #191 (semicolon after #endif stop tokenizing of function)
http://apps.sourceforge.net/trac/cppcheck/ticket/191
2009-03-18 01:10:26 +02:00
Reijo Tomperi 896abcb569 Fixed some memory leaks in test cases 2009-03-17 21:59:40 +02:00
Daniel Marjamäki 9c057c707b tokenize negative numbers into a single token 2009-03-17 20:50:06 +01:00
Daniel Marjamäki 128215d692 Added test case for detecting false positive in the STL size handling 2009-03-17 18:54:50 +01:00
Reijo Tomperi c413c8d4b3 Fix ticket #179 (preprocessor issues)
http://apps.sourceforge.net/trac/cppcheck/ticket/179
2009-03-16 23:20:55 +02:00
Daniel Marjamäki f9b481ae3a Ticket #184 (Tokenizer - Simplification: Split up variable declarations), added testcases 2009-03-16 19:03:23 +01:00
Daniel Marjamäki 0cc7672673 Fixed Ticket #82 (detect buffer overrun; dynamic memory) 2009-03-16 18:11:09 +01:00
Reijo Tomperi 1c74978a92 test case stringify3 added 2009-03-15 23:39:58 +02:00
Reijo Tomperi 21b687b301 Improved tokenizer to handle '#' better. Previously everything after # was combined into a single token,
now # is considered more like an alphabet, with few exceptions, e.g. "##" tokens.
2009-03-15 23:09:27 +02:00
Daniel Marjamäki a6ad972aad Fix Ticket 180 (Templates: Expanding member functions that are not implemented inline) 2009-03-15 20:03:29 +01:00
Daniel Marjamäki 9b06b22053 templates: replace constructor/destructor names when expanding template classes 2009-03-15 17:07:05 +01:00
Reijo Tomperi b26955b9f8 Test case stringify2() added. 2009-03-15 16:05:23 +02:00
Reijo Tomperi ca7870af33 Fix ticket #177 (Tokenizer doesn't add braces around if-scope)
http://apps.sourceforge.net/trac/cppcheck/ticket/177
2009-03-15 14:44:57 +02:00
Reijo Tomperi bb3316a45b Fix ticket #181 (#pragma causes wrong line numbers)
http://apps.sourceforge.net/trac/cppcheck/ticket/181
2009-03-15 14:23:12 +02:00
Daniel Marjamäki 6eadbaae04 templates: better handling of templates with multiple type arguments 2009-03-14 21:26:32 +01:00
Daniel Marjamäki 75d0e8687b Memory leak: handle allocation in deallocation list 2009-03-14 20:19:36 +01:00
Daniel Marjamäki 02df14ec37 Memory leaks: Refactoring to use Tokenizer::FindClassFunction. Enabled test case, the memory leak is now detected 2009-03-14 18:21:37 +01:00
Daniel Marjamäki 3b29125d65 added testcase for 'Tokenizer::FindClassFunction' 2009-03-13 22:38:42 +01:00
Daniel Marjamäki 0a6a0ae46e TestMemleak: added two testcases for checking for leaks in classes 2009-03-13 19:52:01 +01:00
Reijo Tomperi 3c4704a00c Fix ticket #151 (Handling of namespaces)
http://apps.sourceforge.net/trac/cppcheck/ticket/151
2009-03-13 01:07:05 +02:00
Daniel Marjamäki 4c28882a12 expanding template classes 2009-03-12 22:17:42 +01:00
Daniel Marjamäki f96e2deb1a uninitialized const pointer member variables 2009-03-12 21:33:10 +01:00
Daniel Marjamäki 1514e65464 astyle style fixes 2009-03-11 19:14:45 +01:00
Daniel Marjamäki 77cf2213fe templates: simplify template functions with 1 type argument 2009-03-11 18:50:24 +01:00
Reijo Tomperi 657495b825 astyle fix 2009-03-11 00:49:16 +02:00
Daniel Marjamäki eac29d151c made the Tokenizer::simplifyCasts more generic 2009-03-10 21:26:08 +01:00
Daniel Marjamäki cd54a0ed3b Fixed ticket 147 (Invalid line number for error message) 2009-03-09 20:29:25 +01:00
Daniel Marjamäki f8cd34198b simplify casts 2009-03-09 19:47:21 +01:00
Reijo Tomperi 1c626c53c2 Added test case for #147 (Invalid line number for error message)
http://apps.sourceforge.net/trac/cppcheck/ticket/147
macro_linenumbers() in test/testpreprocessor.cpp
2009-03-08 22:28:12 +02:00
Reijo Tomperi 765da17132 Astyle fix 2009-03-08 09:49:04 +02:00
Reijo Tomperi 5be85d71a0 Fix ticket #145 (Line numbers are invalid if file is included inside #ifdef)
http://apps.sourceforge.net/trac/cppcheck/ticket/145
2009-03-08 09:45:53 +02:00
Daniel Marjamäki cc8a6168e7 astyle formatting 2009-03-06 18:13:41 +01:00
Daniel Marjamäki d7cd09cb6e added internal support for handling list of classes that are automaticly deallocated 2009-03-06 07:22:07 +01:00
Reijo Tomperi 6fcb89f136 Fix segmentation fault that happens with invalid code. 2009-03-05 23:22:00 +02:00
Reijo Tomperi 42a9eb9e53 Fix ticket #133 (Segmentation fault when static_cast is in for loop) 2009-03-05 21:32:02 +02:00
Daniel Marjamäki 547f120ee9 known variables: better handling of ++ and -- 2009-03-04 06:03:51 +00:00
Reijo Tomperi 832275bc37 Fix #132 (False positive returning memcpy()) 2009-03-03 20:39:17 +00:00
Reijo Tomperi 69c23301db Fix ticket Add/Change #125 (the printout of the token list is wrong) 2009-03-03 20:17:23 +00:00
Daniel Marjamäki 37c889ab30 unused private function: better handling of initialization lists in constructors 2009-03-02 20:40:24 +00:00
Daniel Marjamäki 86050cccdb unused private function: fixed false positive (ticket: 129) 2009-03-02 17:16:02 +00:00
Daniel Marjamäki 87b0314e72 memory leak: fixed issue with reporting wrong location 2009-03-01 20:34:04 +00:00
Reijo Tomperi fc8f47145a Copyrights updated 2009-03-01 19:52:33 +00:00
Daniel Marjamäki c7b068c174 variable id: fixed so that the variable ids are assigned correctly (ticket:126) 2009-03-01 16:37:02 +00:00
Daniel Marjamäki 4e465f7073 variable declarations: don't simplify when declaring and assigning array in the same statement 2009-02-28 20:40:37 +00:00
Daniel Marjamäki c3bbd603c0 variable id: handling 'return' and 'else' better 2009-02-28 20:21:48 +00:00
Daniel Marjamäki 045477e6ac moved sizeof tests to the TestSimplifyTokens class 2009-02-28 09:09:55 +00:00
Daniel Marjamäki c7197aed8c refactoring unit tests 2009-02-28 08:59:48 +00:00
Daniel Marjamäki 7d9bf491ec sizeof: fixed a problem with 'sizeof(varname)' but there are more to fix with it 2009-02-28 08:34:02 +00:00
Daniel Marjamäki 6b7b27a2e8 simplify known variable: don't simplify this ';i++;' 2009-02-27 18:25:47 +00:00
Daniel Marjamäki dddfc50dff Reverted changes made in [1289] 2009-02-27 07:50:39 +00:00
Daniel Marjamäki f4a8bc85f2 simplify tokens: fixed bug when removing redundant parantheses around variable 2009-02-27 06:07:38 +00:00
Daniel Marjamäki 91011b8450 array index out of bounds: Added todo test case TestBufferOverrun::array_index_13 for ticket #118 2009-02-26 19:46:59 +00:00
Daniel Marjamäki c1da4ae57d simplify tokens: remove redundant parantheses around variable.. 'p = (q);' 2009-02-25 19:55:24 +00:00
Daniel Marjamäki 35583293ec memory leak: Fixed a false positive when all is given 2009-02-25 19:20:23 +00:00
Daniel Marjamäki dac1e91013 unused private function: Handle 'embedded' function implementations better 2009-02-25 18:03:17 +00:00
Daniel Marjamäki 66c13c7173 reverted [1282] because some changes were committed by mistake 2009-02-24 17:49:43 +00:00
Daniel Marjamäki 8c3e3faa07 checkclass: refactoring 2009-02-24 17:48:11 +00:00
Daniel Marjamäki 1e3047b9c2 simplify tokens: simplify known variable value handles ++ and -- better 2009-02-24 16:11:37 +00:00
Daniel Marjamäki d15aea1b0c memory leak: fixed false positive when using 'return strcpy' 2009-02-24 06:23:21 +00:00
Daniel Marjamäki 44a5cecd99 memory leaks: improved handling of --vcl 2009-02-23 19:32:54 +00:00
Daniel Marjamäki d8927e720d constructors: don't warn about missing constructor if class only has static variable members 2009-02-21 13:35:55 +00:00
Daniel Marjamäki 08f76279ed buffer overrun: catch cases when using cin to read to a char array 2009-02-21 12:22:04 +00:00
Daniel Marjamäki 5269e38ae2 security: renamed classes 2009-02-21 12:12:31 +00:00
Daniel Marjamäki b826d2e41b security: Renamed files 2009-02-21 12:07:19 +00:00
Daniel Marjamäki a9009ebf7d TestClass: Added test for uninitialized "mutable int i" 2009-02-21 08:24:57 +00:00
Daniel Marjamäki ed86d924df buffer overrun: dangerous usage of strncpy+strncat 2009-02-20 21:16:07 +00:00
Daniel Marjamäki 15e86db3ed buffer overrun: Added checking of strncat 2009-02-20 21:00:59 +00:00
Daniel Marjamäki 0e1ef1f45f added todo testcases for strncat checking 2009-02-20 20:00:49 +00:00
Daniel Marjamäki 439b8c4051 simplify known variables: variable used as array index 2009-02-20 17:27:57 +00:00
Daniel Marjamäki 385be6d0d9 memory leak: Added command line flag '--vcl' that is used to suppress error messages for VCL code 2009-02-20 06:28:18 +00:00
Reijo Tomperi 4fc774deda Multicore cpu support for Linux (currently disabled and compiling produces warnings)
"no errors" output removed.
2009-02-19 22:21:18 +00:00
Daniel Marjamäki efeaac736d security: added simple gui checking 2009-02-19 17:57:27 +00:00
Daniel Marjamäki 4e1f19a366 input validation: added checking 2009-02-19 08:03:14 +00:00
Daniel Marjamäki a844fa017e fixed failed tests 2009-02-18 20:04:34 +00:00
Daniel Marjamäki 19c8473294 reverted [1254] it was made by mistake 2009-02-18 20:01:44 +00:00
Daniel Marjamäki dc2ecb8980 stl push_back: Added check (invalid iterator) 2009-02-18 19:58:50 +00:00
Daniel Marjamäki 2b04c94b95 stl push_back: Added check (invalid iterator) 2009-02-18 19:57:43 +00:00
Daniel Marjamäki 1043b76d31 Added Tokenizer::elseif for breaking up 'else if' into 'else { if ..' 2009-02-17 19:18:26 +00:00
Daniel Marjamäki 5b24319cf1 varid: Added a todo test case for giving function parameters varid 2009-02-16 20:46:24 +00:00
Daniel Marjamäki 4aef89c311 tokenizer: fixed issues related to variable ids
* use setVarId in simplifyTokenList
 * make sure function parameters and variables declared in for example for loops get variable ids
2009-02-16 17:41:33 +00:00
Daniel Marjamäki b1982b2041 tokenizer: improved the simplification of '*(var+num)' => 'var[num]' 2009-02-15 14:02:57 +00:00
Daniel Marjamäki 56d685c179 tokenizer: Remove redundant parantheses around number. Ticket: #105 2009-02-15 13:28:54 +00:00
Daniel Marjamäki 265ef0f4a5 Tokenizer: Fixed bug in tokenizer that removed '\' from preprocessor lines
Ticket: #106
2009-02-15 11:42:04 +00:00
Reijo Tomperi 669913568c Added test case TestTokenizer::sizeof5 2009-02-14 21:49:36 +00:00
Reijo Tomperi 1e07847ecf Constant variable converting converted struct members (foo.a => foo.45) also, fixed that. 2009-02-14 21:33:28 +00:00
Reijo Tomperi fba8c54758 Fix ticket #107 (Convert + + into + and + - into -) and add test case for it 2009-02-14 20:56:08 +00:00
Reijo Tomperi 413bf32cf2 Fixed typos in test case and enabled it. 2009-02-14 18:44:50 +00:00
Daniel Marjamäki 4a1488b1a9 tokenizer: tokenize '++', '--' and '>>' correctly 2009-02-14 10:13:50 +00:00
Reijo Tomperi d1e9efc66a Fix ticket #104 (Change (error) Uninitialized member variable -> (style) Member variable not initialized in the constructor) 2009-02-14 08:52:03 +00:00
Daniel Marjamäki 5c1995ca81 memory leak: handle 'delete (p)' and 'delete [] (p)'. Fixes ticket 102 2009-02-14 06:54:23 +00:00
Daniel Marjamäki 881460f71b simplify tokens: added todo test case, the varid is lost when simplifying variable declarations 2009-02-13 17:25:23 +00:00
Daniel Marjamäki 3b194ff851 simplify token list: Added a TODO test case. variable id is lost 2009-02-13 16:23:02 +00:00
Leandro Penz de80baeea1 Preprocessor: support for ##-comma-eating in variadic macros; passing now fmt2 test. 2009-02-13 13:34:24 +00:00
Leandro Penz 127a910516 Tokenizer: fixed ## tokenization. 2009-02-13 13:33:12 +00:00
Leandro Penz d511863b57 Preprocessor: initial variadic macro support; passing now on fmt1 case. 2009-02-13 13:31:40 +00:00
Daniel Marjamäki 8485e95341 Token::stringifyList: Added function that stringifies a token list 2009-02-13 06:25:29 +00:00
Reijo Tomperi 916090b389 Improved test case "double_plus" 2009-02-12 20:49:05 +00:00
Reijo Tomperi 030b35c975 Added test case double_plus and improved Token::printOut 2009-02-12 20:32:59 +00:00
Reijo Tomperi 5d3574bb03 Fix ticket #100 (Simplify constants simplifies leaks out from variable scope and simplifies whole file) 2009-02-12 19:26:42 +00:00
Daniel Marjamäki 4f121daca4 buffer overruns: added simple support for initialized array 2009-02-12 19:11:52 +00:00
Leandro Penz 62a49282eb Incomplete statements: removed false positive when setting array of structures or multi-dimensional arrays. 2009-02-12 12:59:43 +00:00
Reijo Tomperi de2ee0a29d Test case TestTokenizer::simplify_constants added (commented out) 2009-02-11 22:15:22 +00:00
Daniel Marjamäki f4a3119c18 stl dangerous usage of erase: Added test cases about using return and goto 2009-02-11 16:20:32 +00:00
Daniel Marjamäki ba3752feb6 buffer overrun: improved checking of global variables 2009-02-11 16:12:29 +00:00
Leandro Penz 4c93b4928b Incomplete statement: fixed and enabled intarray test case. 2009-02-11 15:17:13 +00:00
Leandro Penz d1af0b6478 Incomplete statement: test case for statement that begins with numeric constant. 2009-02-11 15:16:32 +00:00
Daniel Marjamäki eda1290e40 dangerous usage of erase: added check 2009-02-11 05:08:29 +00:00
Reijo Tomperi 9b9223480d Refactoring: reportErr takes now only one parameter, ErrorLogger::ErrorMessage, which contains all required information and also some help
functions for formatting it for output.
2009-02-10 21:51:52 +00:00
Daniel Marjamäki 71b4e5a912 stl: added testcase for bad iterator usage 2009-02-10 20:01:39 +00:00
Reijo Tomperi 4660b7648d Moved stloutofbounds check to CheckStl class. 2009-02-10 19:56:00 +00:00
Daniel Marjamäki c1638996f9 STL: added check for iterator usage 2009-02-10 19:40:21 +00:00
Reijo Tomperi 9dff3f4c52 Fix ticket #94 (STL container overrun). Check is currently behind --all 2009-02-09 22:25:44 +00:00
Reijo Tomperi 1373e14bc9 Fix ticket #93 (Write xml results into error stream instead of results.xml file.) and also refactor the
code to use ErrorLogger::reportErr() for all errors, for both xml and plain text. And move xml formatting 
from Cppcheck to CppcheckExecutor.
2009-02-09 20:51:04 +00:00
Daniel Marjamäki a5f88862b4 memory leak: keep track of --all better 2009-02-09 20:16:00 +00:00
Daniel Marjamäki 0cdb537a6a incomplete statement: added a testcase for a false positive 2009-02-09 20:15:14 +00:00
Daniel Marjamäki 574db37a6f uninitialized variables: added testcases and made a fix 2009-02-09 07:47:41 +00:00
Daniel Marjamäki e572cb3c1d Memory leak: Test code was supposed to call unknown function 2009-02-08 18:50:34 +00:00
Daniel Marjamäki 1637e867de mismatching allocation size: moved to error suite 2009-02-08 18:34:04 +00:00
Daniel Marjamäki d8e8e2c7ee Memory leaks: Make sure leak is found even when using unknown functions 2009-02-08 18:31:09 +00:00
Daniel Marjamäki 81ed48562c Memory leak: find memory leak in TestMemleak::unknownFunction2 2009-02-08 18:27:09 +00:00
Daniel Marjamäki 0361c9d338 Memory leak: Handling function that can't be traced into 2009-02-08 11:59:04 +00:00
Reijo Tomperi cb5974e94e Fixed issue about 4+5 being made a single token, problem appeared in recent commits. 2009-02-08 10:56:20 +00:00
Reijo Tomperi c345fa6186 Fix ticket #89 (False positive, (style) Redundant code - begins with numeric constant (e-value)) 2009-02-08 10:39:55 +00:00
Reijo Tomperi da3efe8fa2 Improve fix made for Ticket #85 to handle strings that are in 3 parts also. 2009-02-08 10:25:33 +00:00
Reijo Tomperi 4305d749ff Fixed ticket #88 (False positive, (style) Redundant code - begins with numeric constant) 2009-02-08 09:51:45 +00:00
Reijo Tomperi 200a159c67 Fix ticket #85 (False positive (style) Redundant code, begins with string) 2009-02-08 08:52:03 +00:00
Daniel Marjamäki 7ee193490f Memory leaks: Added todo testcase - handle function calls that can't be followed 2009-02-08 08:21:15 +00:00
Reijo Tomperi d48671bdfb Fixed more of ticket #81 (getting rid of compiler warnings) 2009-02-07 20:55:25 +00:00
Reijo Tomperi b211b8cbe8 Fix ticket #84 (unit testing: use "protected" instead of preprocessor) 2009-02-07 20:06:00 +00:00
Reijo Tomperi 798d86216a Fix ticket #83 (cppcheck hangs) and add a test case for it 2009-02-07 19:15:10 +00:00
Daniel Marjamäki 3c289e52c5 memory allocation: check for mismatching size 2009-02-07 10:54:39 +00:00
Daniel Marjamäki bb71f9e83e TestMemleak: fixed problems with wrong linenumbers. This fixes ticket 79 2009-02-07 09:44:57 +00:00
Daniel Marjamäki 67ad1d8c64 TestMemleak: Fixed tests 2009-02-06 18:49:30 +00:00
Daniel Marjamäki 3c7e40fe13 errmsg: use the error message dealloc-use 2009-02-06 06:22:44 +00:00
Daniel Marjamäki 7299d3e5b1 memleak: removed false positives for mismatching allocation and deallocation 2009-02-06 06:11:47 +00:00
Reijo Tomperi a06861948b Fixed: Ticket #78 Change (always) into (error) in error messages 2009-02-05 21:06:32 +00:00
Reijo Tomperi 09c13d844e Added test case linenumbers2 2009-02-05 20:29:55 +00:00
Daniel Marjamäki 10abbda6a7 memleak: corrected the wrong line number (#77) 2009-02-05 20:17:01 +00:00
Reijo Tomperi 7589dc3d16 testcppcheck.cpp file added, test case "linenumbers" added, codeblocks project file updated 2009-02-05 20:06:39 +00:00
Daniel Marjamäki 05e330ed38 incomplete statement: minor update 2009-02-05 18:57:53 +00:00
Daniel Marjamäki 9707217c15 activated TestClass:function 2009-02-04 19:42:40 +00:00
Daniel Marjamäki 7ccb6217bf remove casts: Added test case to ensure that function declarations are not reduced 2009-02-04 19:40:48 +00:00
Daniel Marjamäki 8187504cbb testclass: added todo testcase for #74 2009-02-04 19:31:25 +00:00
Daniel Marjamäki aeb573d529 returning pointer to local array 2009-02-04 18:49:19 +00:00
Daniel Marjamäki bd73d0913f charvar: fixed todo testcase 2009-02-04 17:12:53 +00:00
Daniel Marjamäki d73e6c398f testbufferoverrun: activated test 2009-02-04 16:58:44 +00:00
Daniel Marjamäki c46c4c50e9 memory leak: fixed ticket #9 2009-02-04 06:11:36 +00:00
Reijo Tomperi 142a21973a Fixed varid is 0 bug which happened with sizeof(var[0]) and added testcase for it 2009-02-03 21:42:50 +00:00
Daniel Marjamäki 59f95d311b tokenizer: setvarid handle variable declaration at start of token list 2009-02-02 19:19:36 +00:00
Daniel Marjamäki 0059ceefb9 Tokenizer: sizeof handling of 'sizeof(var[0])' 2009-02-02 18:59:32 +00:00
Daniel Marjamäki d0af67a1b1 Tokenizer: setVarId improved to handle declaration at the first token 2009-02-02 17:35:46 +00:00
Daniel Marjamäki 27c0f786bc tokenizer: improved sizeof handling 2009-02-02 17:27:34 +00:00
Daniel Marjamäki 0e291c772c TestTokenize: Added testcase sizeof2 (TODO) 2009-02-02 06:26:20 +00:00
Daniel Marjamäki dc994c346e testtokenize: sizeof handling 2009-02-02 06:21:48 +00:00
Daniel Marjamäki bbf4641304 testmemleak: fixed a test case 2009-02-02 06:21:00 +00:00
Daniel Marjamäki f66750c9f1 TestMemleak: Added test cases 2009-02-02 05:58:50 +00:00
Daniel Marjamäki 385c28a02e xml: generating better xml output 2009-02-01 18:00:47 +00:00
Reijo Tomperi 7da34ed249 Running astyle for the previous commits 2009-01-31 18:54:34 +00:00
Leandro Penz 7adcd0c355 dangerousfunctions: added check for mktemp (ticket #69), and refatored gets and scanf check from bufferoverrun into dangerousfunctions. 2009-01-31 18:24:48 +00:00
Daniel Marjamäki 81174a4817 mismatching allocation / deallocation: moved to --all 2009-01-31 17:54:31 +00:00
Daniel Marjamäki f6f72fc022 errmsg: output severity in messages. a fix to track severity in the memory leaks check 2009-01-31 13:57:27 +00:00
Daniel Marjamäki 25607d9f71 mismatching allocation and deallocation: added test case that currently generates false positives 2009-01-31 11:51:47 +00:00
Daniel Marjamäki 3457b38d7a errmsg: write severity in the message 2009-01-31 08:33:31 +00:00
Daniel Marjamäki 7d98c74d40 added test case TestBufferOverrun::sizeof2 2009-01-30 06:11:31 +00:00
Daniel Marjamäki 988d4c0d66 added todo testcase 2009-01-30 06:06:03 +00:00
Daniel Marjamäki e9d19840d2 preprocessor: Added testcase fmt2 that is commented out because it doesn't work yet 2009-01-28 20:19:46 +00:00
Daniel Marjamäki b7b055e885 tokenizer: fixed TestTokenizer::sizeof1 2009-01-28 17:38:32 +00:00
Daniel Marjamäki 12b6cf8c70 bad sizeof handling 2009-01-28 05:31:26 +00:00
Reijo Tomperi 2f7dec2fc3 Partial support for sizeof x, by converting it into sizeof(x). Does not handle complex structures. Closing ticket #65 2009-01-27 20:47:00 +00:00
Reijo Tomperi 64e3250f00 Fixed bug in multiCompare, which fixes ticket #66 ([False positive] "Buffer overrun" with "--all") 2009-01-27 19:30:01 +00:00
Daniel Marjamäki 8cd2979468 uninitialized member: don't check private constructors 2009-01-27 17:39:06 +00:00
Reijo Tomperi e764cc4f95 Fix ticket #25 (simplify "void f(x) int x; {" into "void f(int x) {") 2009-01-26 22:26:50 +00:00
Daniel Marjamäki 068b1458c2 memleak: class function usage (fixing #63) 2009-01-26 18:15:44 +00:00
Daniel Marjamäki ca0f007ca4 tokenizer: simplify redundant paranthesis 2009-01-26 16:38:08 +00:00
Leandro Penz 9fb11bbfcc memleak: strcat_result_assignment fixed by checking some functions for "x = func(x[),]". 2009-01-25 20:57:34 +00:00
Daniel Marjamäki 7037a3b4f6 testmemleak: removed the test case that was added in [1105]. It has been moved to the TestTokenizer instead 2009-01-25 19:40:29 +00:00
Daniel Marjamäki 4bb43e7e4d testtokenize: Added test case for simplifying '((x))' to '(x)' 2009-01-25 19:39:05 +00:00
Daniel Marjamäki bada255c80 testpreprocessor: removed unused test case 2009-01-25 19:18:18 +00:00
Reijo Tomperi da63428961 Added test case complex_free 2009-01-25 16:29:51 +00:00
Reijo Tomperi 7631b0b339 Test case added: strcat_result_assignment 2009-01-25 15:56:19 +00:00
Daniel Marjamäki 9c51729be6 preprocessor: stringify macros 2009-01-25 13:30:15 +00:00
Daniel Marjamäki 5acc6aca31 preprocessor: insert space. '#if(' => '#if (' 2009-01-24 19:28:30 +00:00
Leandro Penz 04faae2882 memleak: *x=malloc(); func(&x) is no longer reported as a leak (eliminated &use2). 2009-01-24 18:55:56 +00:00
Leandro Penz 835a749026 snprintf: more tests. 2009-01-24 18:55:07 +00:00
Reijo Tomperi 98d7f02ebc Added test case preprocessor_and_operation for ticket #55 (also fixed style from previous commit) 2009-01-24 18:50:09 +00:00
Daniel Marjamäki 8e7ff3bace testtokenize: updated 'TestTokenize::simplify_function_parameters' 2009-01-24 18:21:16 +00:00
Reijo Tomperi 67f30376e1 Added test case simplify_function_parameters 2009-01-24 07:56:47 +00:00
Daniel Marjamäki ca56520c29 memory leak: don't give false positive when deallocating member variable this->i (#53) 2009-01-23 19:24:52 +00:00
Daniel Marjamäki f31bd86a05 removed compiler warning 2009-01-23 18:55:40 +00:00
Daniel Marjamäki 193cffdb0b preprocessor: fixed bug with mixed macros ABC and ABCD 2009-01-23 17:14:42 +00:00
Daniel Marjamäki 67e4ea10c9 preprocessor: handle redefinition of macro 2009-01-22 20:19:07 +00:00
Daniel Marjamäki a9e84c5cd5 preprocessor: handle include guards by not checking for configurations in header files 2009-01-22 18:19:17 +00:00
Nicolas Le Cam b7e4f1319c Fix Preprocessor::read to handle char constant of more than one char, fixing issue #45; Fix the test that handle the case. 2009-01-21 21:45:17 +00:00
Nicolas Le Cam 42c608b6f0 Remove checks that are already covered well by most compilers (Unreachable Code; Assignment in Condition; Unused Variable). 2009-01-21 21:31:47 +00:00
Reijo Tomperi 53d02c0804 Fix Ticket #43, preprocessor: include file doesn't work so good in subfolders (note, because of other issues, checking will be very slow now
that this is fixed)
2009-01-21 21:03:46 +00:00
Reijo Tomperi 176dd41306 Fixed Ticket #40, Check copyright texts in files, now that we have new developers. 2009-01-21 20:04:20 +00:00
Reijo Tomperi 9f63e2227b Added test case multi_character_character 2009-01-21 19:12:28 +00:00
Daniel Marjamäki 76cb2310af preprocessor: handled problem with parsing strings when expanding macros 2009-01-21 17:11:24 +00:00
Daniel Marjamäki 1622922384 preprocessor: Added todo test. It crashes when it's used 2009-01-21 07:22:44 +00:00
Reijo Tomperi 6d8387914b Fixes test case "file2", fixes bug with include file handling 2009-01-20 22:25:49 +00:00
Daniel Marjamäki d82314b365 preprocessor: Handle ## 2009-01-20 18:28:24 +00:00
Daniel Marjamäki fad65663e5 tokenizer: tokenize ## better 2009-01-20 17:26:16 +00:00
Daniel Marjamäki 45661fed21 tokenizer: added testcase with include files. It should be fixed. 2009-01-20 17:05:42 +00:00
Reijo Tomperi df5adc5f4f Added test case preprocessor_doublesharp, executed ./runastyle for errormessage.h 2009-01-19 21:45:59 +00:00
Reijo Tomperi 4d0e3dac45 Added a test case and fixed bug. If #include was inside a string, cppcheck hanged in preprocessor. 2009-01-19 19:24:41 +00:00
Reijo Tomperi de28502bb1 Fixed bug in line numbers and enabled test case that spots it. 2009-01-19 18:51:27 +00:00
Daniel Marjamäki 7b90246198 testtokenize: Added test "file1". It currently fails. 2009-01-19 18:40:24 +00:00
Daniel Marjamäki 835fa1f007 testtokenize: Removed unneeded test case "define1" 2009-01-19 17:47:12 +00:00
Daniel Marjamäki a9851f44c1 testpreprocessor: Removed test that doesn't work now that the preprocessor handles includes 2009-01-19 16:42:20 +00:00
Nicolas Le Cam f6d121443e unreachableCode: Moved warning of a break statement following a return in --style; Added a test case; Minor optimization. 2009-01-18 21:19:02 +00:00
Leandro Penz e930525aa4 functionVariableUsage: no longer SIGSEGVs on unfinished struct. Fixes Ticket #31. 2009-01-18 19:45:43 +00:00
Daniel Marjamäki f409861492 strPlusChar: Fixed false positives 2009-01-18 17:42:41 +00:00
Daniel Marjamäki c7311b4b3c preprocessor: make sure macros are not expanded when they are found in strings 2009-01-18 16:58:57 +00:00
Daniel Marjamäki 965daabe60 preprocessor: Make sure that "#define ABC (a+b+c)" is expanded correctly 2009-01-18 16:56:12 +00:00
Daniel Marjamäki ea686a1da9 preprocessor: fixed so the TestPreprocessor::preprocessor_undef succeeds 2009-01-18 16:37:40 +00:00
Reijo Tomperi d31e0ae8a1 Fix compile warning signed-unsigned 2009-01-18 11:14:35 +00:00
Reijo Tomperi 8155b9272f Refactoring: Style applied 2009-01-18 11:13:25 +00:00
Daniel Marjamäki 4ee4645858 Preprocessor: Reverted [1008] - The old expandMacros was readded 2009-01-18 10:54:07 +00:00
Daniel Marjamäki e315595c36 Tokenizer: Added unit test to check that define is tokenized correctly 2009-01-18 08:52:20 +00:00
Daniel Marjamäki a269cfc8d9 tokenizer: The tokenizer shouldn't handle comments nor preprocessor directives. The preprocessor will take care of
that
2009-01-18 08:38:25 +00:00
Daniel Marjamäki 86c95c27d2 Preprocessor: Removed "Preprocessor::expandMacros" and commented all its tests 2009-01-18 07:32:06 +00:00
Reijo Tomperi 58b398a4a8 Fix Ticket #32 False positive with --style: Uninitialized member variable (when stream is used) 2009-01-17 20:17:57 +00:00
Reijo Tomperi f6452e3613 Test case for Ticket #32 2009-01-17 19:26:58 +00:00
Daniel Marjamäki b9b250f4cc unused var: fixed false positives when using shift operator 2009-01-17 14:32:02 +00:00
Daniel Marjamäki 8780fbf8bb bounds checking: Added error message "snprintf size is out of bounds" 2009-01-17 13:09:02 +00:00
Daniel Marjamäki a5e2787f72 errmsg: added varname to the message "deallocating a deallocated pointer" 2009-01-17 11:15:46 +00:00
Daniel Marjamäki 121c0ee58f unused variable: reading the value of variable in a for loop.. "for(;a;)" see ticket #18 2009-01-17 11:12:15 +00:00
Daniel Marjamäki f562f588fb memory leak: detect memory leak (#6) 2009-01-17 07:55:40 +00:00
Daniel Marjamäki 666fc82011 Memory leak: Fixed false positives about deallocating pointer that has already been deallocated 2009-01-16 16:29:41 +00:00
Daniel Marjamäki 4cfb8ad1cb memory leaks: Added checking of deallocate to see that the pointer isn't deallocated already 2009-01-15 20:34:39 +00:00
Daniel Marjamäki 66e93b24e2 str plus char: added simple variable handling 2009-01-15 17:12:33 +00:00
Daniel Marjamäki 8bbd4b9401 str plus char: Added check and error message for str + ch 2009-01-15 16:57:51 +00:00
Daniel Marjamäki 03cfe18c9b errmsg: Added 'condition is always true/false' 2009-01-14 19:43:28 +00:00
Daniel Marjamäki 22583269c1 Uninitialized member variables: Checking enum variables 2009-01-14 19:34:10 +00:00
Daniel Marjamäki 97a7bc383d memory leak: Added test case 2009-01-14 16:40:07 +00:00
Daniel Marjamäki a604f56f19 buffer overruns: added sprintf checking 2009-01-14 06:29:35 +00:00
Daniel Marjamäki f7e4f13ecd Memory leak: Readded some checking to classes 2009-01-14 05:58:20 +00:00
Leandro Penz 1a14cd527c functionVariableUsage: support for nested struct/union declaration. 2009-01-14 00:45:44 +00:00
Daniel Marjamäki e664f255a4 Memory leak: Fixed a false positive 2009-01-13 18:30:39 +00:00
Daniel Marjamäki c1a4e9b000 testpreprocessor: commented the "undef" test that doesn't work 2009-01-12 19:23:01 +00:00
Reijo Tomperi ee54d4da91 Added test case which currently fails, #undef is not handled 2009-01-12 18:23:53 +00:00
Daniel Marjamäki 15a32103e2 testdivision: The 'unsigned division' is a style check 2009-01-12 17:20:32 +00:00
Daniel Marjamäki 980b10bfc9 errmsg: Added 'unsigned division' 2009-01-12 17:12:14 +00:00
Daniel Marjamäki 153487d504 preprocessor: Style updates 2009-01-12 06:43:56 +00:00
Daniel Marjamäki eb8675ab76 preprocessor: Handle newlines better 2009-01-12 06:33:06 +00:00
Daniel Marjamäki ea6c48b2bd preprocessor: fixed a small bug when expanding macro without parameter 2009-01-11 16:06:37 +00:00
Daniel Marjamäki da881fdd0a preprocessor: Fixed bug when expanding macros without parameters 2009-01-11 15:51:46 +00:00
Daniel Marjamäki ecdfee850d preprocessor: expand macro without parameters 2009-01-11 15:07:13 +00:00
Daniel Marjamäki da46e4bd96 struct member usage: bail out the check if the struct contain any functions 2009-01-11 14:39:52 +00:00
Daniel Marjamäki 2e77f3bf04 setVarId: Fixed bug (variable id for struct member not correctly set) 2009-01-11 10:03:21 +00:00
Daniel Marjamäki e42953bd3b preprocessor: Added a test to see that "<backslash><newline>" is handled correctly inside strings 2009-01-11 08:16:15 +00:00
Daniel Marjamäki 94667320e8 preprocessor: Handle "<backslash><newline>" better 2009-01-11 07:19:28 +00:00
Leandro Penz 764e44790f match: skip initial !! patterns if on first token. 2009-01-10 21:13:10 +00:00
Daniel Marjamäki 7b10b0ff4d errmsg: Added "Unused private function ..." 2009-01-10 17:35:41 +00:00
Daniel Marjamäki dc6317878e errmsg: Added "uninitialized member variable" 2009-01-10 17:11:47 +00:00
Leandro Penz 5570f06075 checkmemoryleak: no longer flag "dealloc ; alloc ; if continue ;" as a leak, even with --all 2009-01-10 16:28:04 +00:00
Daniel Marjamäki 1a4cfc6c4f unused struct member: fixed false positive for member "const int a;" 2009-01-10 14:39:20 +00:00
Daniel Marjamäki a2a8378749 astyle: updated the code style 2009-01-10 14:29:59 +00:00
Daniel Marjamäki 8c4260519c sprintf: fixed bug "false positive when variable is used again after snprintf" 2009-01-10 14:27:31 +00:00
Daniel Marjamäki 0c3c00daec errmsg: Added errormessage for 'the class 'classname' doesn't have a constructor' 2009-01-10 13:08:44 +00:00
Daniel Marjamäki 985b8fa05f sprintf: fixed false positives with "sprintf(buf, "%i", sizeof(buf)); 2009-01-10 11:19:17 +00:00
Leandro Penz febdc3fe6e token: when Token::Match reached the end of input, it returned true if the next pattern was !!. It now returns true only if all remaining patterns are !!. 2009-01-10 00:33:48 +00:00
Reijo Tomperi c7730044c7 Added test case for preprocessor which currently fails. codeblocks project file updated, tools-files added. 2009-01-08 22:28:54 +00:00
Reijo Tomperi 42b661630b astyle changes, missed from previous commits 2009-01-08 21:08:14 +00:00
Daniel Marjamäki 5d0f8f0cfa errormessage: Added a few more messages for checkother.cpp 2009-01-08 20:56:51 +00:00
Daniel Marjamäki 24530ebd60 sprintf: check for dangerous usage with sprintf|snprintf with
overlapping data
2009-01-08 06:24:08 +00:00
Daniel Marjamäki 8f86a941aa Simplify tokens: add a ";" after case and default 2009-01-07 17:49:21 +00:00
Reijo Tomperi e435a1f1d6 Refactoring: Added src/ and test/ folders. Moved source files to those folders, updated makefile and codeblocks project file. 2009-01-06 14:18:36 +00:00