Commit Graph

970 Commits

Author SHA1 Message Date
Daniel Marjamäki e26c999020 Refactoring: Using MathLib for converting string to number
commit beacd5793f9e9987432a20ac39a76ae6c2c8babd
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date:   Sat May 2 10:44:18 2009 +0200

    memleak: using mathlib

commit 4d28172a5d88cc2cbe5ed94a4e4fdbd0dd4bb5e1
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date:   Sat May 2 10:35:06 2009 +0200

    tokenizer: using the MathLib for converting string to number

commit 4e4b95b3554c9c6d121efeb39741204b1621b1a3
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date:   Sat May 2 10:28:39 2009 +0200

    CheckOther: Using mathlib
2009-05-02 10:45:15 +02:00
Daniel Marjamäki 6f4c5ab71c refactoring: Replaced 'aaaa' 2009-05-01 22:41:55 +02:00
Reijo Tomperi 26c193f9bc Fix ticket #204 (false positive::memory leak with --all when free is guarded by simple if)
http://apps.sourceforge.net/trac/cppcheck/ticket/204
2009-05-01 21:31:07 +03:00
Reijo Tomperi bc4fb21325 tokenizer: simplify assembler (#270), fix _asm also.
http://apps.sourceforge.net/trac/cppcheck/ticket/270
2009-05-01 20:53:08 +03:00
Reijo Tomperi a46de47158 Fix ticket #196 (False positive: Resource leak)
http://apps.sourceforge.net/trac/cppcheck/ticket/196
2009-05-01 14:39:57 +03:00
Daniel Marjamäki e37da13c26 tokenizer: simplify assembler (#270) 2009-05-01 12:39:14 +02:00
Reijo Tomperi 67832d89f7 Astyle fix 2009-05-01 13:08:19 +03:00
Reijo Tomperi 241ad528a9 Fix ticket #275 Simplify if( a == 0 ), if( 0 == a ) into if( !a )
http://apps.sourceforge.net/trac/cppcheck/ticket/275
2009-05-01 13:07:10 +03:00
Reijo Tomperi 34540fee04 Fix partially ticket #196 False positive: Resource leak
And add few test cases related to it. Move one failing test behind TODO
http://apps.sourceforge.net/trac/cppcheck/ticket/196
2009-05-01 12:28:33 +03:00
Daniel Marjamäki 6d53343d32 class checking: only check class assignments if the --all has been given 2009-05-01 07:36:35 +02:00
Daniel Marjamäki 534d0e9939 class checking: Checking that vectors/lists/strings etc are modified in the assignment function 2009-05-01 07:28:58 +02:00
Reijo Tomperi 7e5c32b7f4 Fix ticket #269 (Incorrect variable id, when delete is used.)
http://apps.sourceforge.net/trac/cppcheck/ticket/269
2009-04-29 22:45:57 +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 f9795988eb checkstl: Check for invalid pointer to vector element 2009-04-28 21:18:02 +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
Reijo Tomperi 347b8a2de8 astyle fix 2009-04-23 23:53:01 +03: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
Reijo Tomperi 23f00e64cb Fix ticket #257 (Improve speed of template tokenizing)
http://apps.sourceforge.net/trac/cppcheck/ticket/257
2009-04-14 23:21:52 +03: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
Reijo Tomperi 9c9e920829 Fix ticket #252 (Fix --style warnings in cppcheck)
http://apps.sourceforge.net/trac/cppcheck/ticket/252
2009-04-13 12:02:21 +03:00
Daniel Marjamäki 8533e112fe updated version to 1.31 2009-04-12 19:54:15 +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 e72a38aaa8 mathlib: Added licence text 2009-04-09 16:17:59 +02:00
Daniel Marjamäki 6fb18b3ddc simplify calculations: Don't simplify division with 0 2009-04-06 19:43:54 +02:00
Daniel Marjamäki 638d18cfc8 tokenize: use mathlib when simplifying calculations (ticket: 236) 2009-04-06 19:23:30 +02:00
Daniel Marjamäki 97f5380a2c added testing for mathlib 2009-04-06 19:08:13 +02:00
Daniel Marjamäki f0d870c52d Added math library that was created by hoangtuansu 2009-04-06 18:27:14 +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
Reijo Tomperi 051f2929b5 Fix ticket #244 (Headers from included file are searched from wrong path)
http://apps.sourceforge.net/trac/cppcheck/ticket/244
2009-04-05 21:14:02 +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 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
Reijo Tomperi 3b0643a000 Fix some potential null pointer crashes 2009-04-03 14:55:36 +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
Reijo Tomperi bd66f12e60 astyle fix 2009-03-28 23:11:03 +02: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 447c830e8f performance enhancement (patch submitted by davidmiller in ticket 231) 2009-03-28 20:33:55 +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 063f59c86c moved checks back to style (where they used to be) 2009-03-27 15:55:14 +01:00
Daniel Marjamäki 4eeac1f364 tokenizer: fix segmentation fault if end of token list is reached 2009-03-27 15:12: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 8db1ac8c5d astyle formatting 2009-03-25 07:25:33 +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
Gianluca Scacco a66cf8b20f Fixed Ticket #202: Return of the address of an auto-variable 2009-03-24 21:53:46 +01:00
Daniel Marjamäki afcaa30b51 Fixed ticket 216 (False positive: variable scope) 2009-03-24 20:59:56 +01:00
Daniel Marjamäki 6c1af7e5e6 register CheckClass 2009-03-24 20:47:43 +01:00
Daniel Marjamäki 586037ed11 fixed testcase 2009-03-24 20:28:44 +01:00
Daniel Marjamäki da0b571aee Fixed ticket 197 (false positive: condition is always true/false) 2009-03-24 19:49:01 +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 a87419f59b Fixed Ticket 199 (The error messages generated by 'unused functions' are wrong) 2009-03-22 18:57:53 +01:00
Daniel Marjamäki 09457194d9 astyle code formatting 2009-03-22 08:23:20 +01:00
Daniel Marjamäki 276c0a7b2f Merge branch 'master' of git@github.com:danmar/cppcheck 2009-03-22 08:20:41 +01:00
Daniel Marjamäki e017d5a079 refactoring - added 'getErrorMessages' to all check classes 2009-03-22 08:20:15 +01:00
Gianluca Scacco abda874944 Refactoring of CheckAutoVariables 2009-03-22 08:01:48 +01:00
Daniel Marjamäki 0a71771c6a improved the Tokenizer::setVarId to handle function parameters better 2009-03-21 21:58:39 +01:00
Daniel Marjamäki 6fc66d3e2c refactoring error messages 2009-03-21 21:33:27 +01:00
Daniel Marjamäki 729b2c1706 Fixed 188 (Return of auto variable address), applied patched submitted by gscacco 2009-03-21 18:36:41 +01:00
Daniel Marjamäki da06c12925 refactoring error messages 2009-03-21 18:31:28 +01:00
Daniel Marjamäki 468ed653e2 refactoring error messages 2009-03-21 17:58:13 +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 001cb0a7ec refactoring - added a function getErrorMessages that will be used to get a list of error messages 2009-03-21 14:07:51 +01:00
Daniel Marjamäki bcad5afb26 refactoring - fixed the unit tests 2009-03-21 14:02:58 +01:00
Daniel Marjamäki 170f817a19 refactoring: there are now 2 functions for running checks. 'runChecks' and 'runSimplifiedChecks' 2009-03-21 07:53:23 +01:00
Daniel Marjamäki 0ed425d105 refactoring 2009-03-20 20:21:54 +01:00
Daniel Marjamäki 272d455e2d refactoring: generate error message in the class 2009-03-20 20:09:44 +01:00
Daniel Marjamäki 8e4af409e7 refactoring: Added a function to the Check base class that allows easier error reporting 2009-03-20 19:52:18 +01:00
Daniel Marjamäki ccfdbfca58 improved Token::tokAt to handle negative argument too 2009-03-20 18:50:11 +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 e6e778e45f refactoring 2009-03-20 17:15:51 +01:00
Daniel Marjamäki 5565be0c74 refactoring: minor cleanup 2009-03-19 21:20:08 +01:00
Daniel Marjamäki d4fdfc0f5a astyle formatting 2009-03-19 20:53:23 +01:00
Daniel Marjamäki dfe867fded added checkautovariables and integrated it into cppcheck 2009-03-19 20:52:18 +01:00
Daniel Marjamäki 16b6a7a605 refactoring: loop through all Check instances and execute the runChecks function 2009-03-19 19:24:13 +01:00
Daniel Marjamäki 47d7ff983f refactoring: removed the changes to the error handling 2009-03-19 18:39:20 +01:00
Daniel Marjamäki a573c62cd5 refactoring: first step - started with checkstl 2009-03-18 22:40:38 +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 819953006c Astyle fix 2009-03-17 22:00:27 +02:00
Daniel Marjamäki 9c057c707b tokenize negative numbers into a single token 2009-03-17 20:50:06 +01:00
Reijo Tomperi 2a3535c04f Fix ticket #186 (runtime error when checking code that has a namespace)
http://apps.sourceforge.net/trac/cppcheck/ticket/186
2009-03-17 20:16:15 +02:00
Daniel Marjamäki 9fe8ae452a Refactoring the code for the templates handling 2009-03-17 18:55:28 +01:00
Reijo Tomperi b3dd9e699b --debug flag can be used to printout token list (for development purposes) 2009-03-16 23:31:52 +02: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 0cc7672673 Fixed Ticket #82 (detect buffer overrun; dynamic memory) 2009-03-16 18:11:09 +01: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 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
Reijo Tomperi c385b3e045 Improve creation of link() for Token class. Tokenizer::simplifyTokenList() should now return
code where Token::link() actually works.
2009-03-15 01:39:45 +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 01c39daa13 Merge branch 'ref' 2009-03-13 22:39:47 +01:00
Daniel Marjamäki daa911daeb refactoring: moved 'FindClassFunction' from CheckClass to Tokenizer 2009-03-13 22:28:44 +01:00
Reijo Tomperi 116e940214 Fixed ticket #169 (Add Token::link())
http://apps.sourceforge.net/trac/cppcheck/ticket/169
2009-03-13 23:25:56 +02: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
Daniel Marjamäki eac29d151c made the Tokenizer::simplifyCasts more generic 2009-03-10 21:26:08 +01:00
Daniel Marjamäki c7c13ce3c1 Fixed ticket 134 (memory leak not detected) caused by wrong checking if code is inside class function or not 2009-03-10 20:44:24 +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 f39e117921 removed unused private function CheckSecurity::eraseCheckLoop 2009-03-09 20:09:06 +01:00
Daniel Marjamäki f8cd34198b simplify casts 2009-03-09 19:47:21 +01:00
Vesa Pikki ccfa7ce6ee Merge branch 'WinQt' of git@github.com:danmar/cppcheck into WinQt 2009-03-09 20:00:06 +02:00
Reijo Tomperi de1a786a07 Fix ticket #148 (unable to compile with g++-3.3)
http://apps.sourceforge.net/trac/cppcheck/ticket/148
2009-03-08 20:50:19 +02:00
Daniel Marjamäki ed0c971b1f updated version to 1.30 2009-03-08 16:15:25 +01: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
unknown bc6e1a74d0 Windows Qt compilation fixes.
FileLister::RecursiveAddFiles failed to compile in Windows when GUI was compiled. Since that method wasn't used in Qt build I ifdeffed it out.

Also removed vcl related code from checkdialog since that was removed from release.
2009-03-07 18:53:50 +02:00
Daniel Marjamäki fe2aee131d Fix ticket #140 (New command line option --auto-dealloc), added documentation 2009-03-07 08:56:12 +01:00
Reijo Tomperi 1ab57390cf Fix ticket #137 (--version would be nice) and also do some cleanup for help texts
http://apps.sourceforge.net/trac/cppcheck/ticket/137
2009-03-06 23:17:42 +02:00
Reijo Tomperi d725f0df58 Fix ticket #139 (Compilation error on building cppcheck version 1.29 with gcc-4.3.2 on Ubuntu 8.10)
http://apps.sourceforge.net/trac/cppcheck/ticket/139
2009-03-06 22:46:32 +02:00
Daniel Marjamäki cc8a6168e7 astyle formatting 2009-03-06 18:13:41 +01:00
Daniel Marjamäki 113b3c1d21 auto-deallocated classes: added command line option for specifying .lst file (http://apps.sourceforge.net/trac/cppcheck/ticket/120) 2009-03-06 17:43:33 +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 28475b2986 Fix ticket #135 (Add option to control main() exit value) 2009-03-06 02:03:31 +02: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 0011d059e6 checkbufferoverrun: fixed bug - skip some checks when variable id is unknown (Ticket: 138) 2009-03-05 18:28:59 +01:00
Daniel Marjamäki 4522bcd680 reverted accidental changes committed in [1330] 2009-03-04 17:10:28 +00:00
Daniel Marjamäki 8b7a5dd494 fixed tokenizer problem when reading char constants 2009-03-04 17:02:45 +00:00
Daniel Marjamäki 5c1d4f2703 simplify calculations better 2009-03-04 06:24:03 +00: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
Reijo Tomperi 054518f002 Refactoring: Combined printOut() and stringifyList() in Token class 2009-03-03 19:45:58 +00:00
Daniel Marjamäki 37c889ab30 unused private function: better handling of initialization lists in constructors 2009-03-02 20:40:24 +00:00
Vesa Pikki e629db6818 Now adds directory contents to list of files to check.
Only adds proper (.cpp,.c,.cpp,...) files to the list of files to check.
Modified checkthread to clear results after each file.
2009-03-02 19:56:51 +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 d4ecddd53c Fixed some compiling warnings by adding more error checking. 2009-03-01 20:08:47 +00:00
Daniel Marjamäki fdaa1af694 removed deprecated flag 'firstMatch' 2009-03-01 20:02:24 +00:00
Reijo Tomperi 015143b56c Copyright fixes 2009-03-01 19:59:13 +00:00
Reijo Tomperi ea30d78405 Fixing compile problem with new gcc 2009-03-01 19:56:27 +00:00
Reijo Tomperi fc8f47145a Copyrights updated 2009-03-01 19:52:33 +00:00
Reijo Tomperi f6848f14ad Fixed another --style problem with our code 2009-03-01 19:38:17 +00:00
Reijo Tomperi 6495912d9a Fixed bug, -j option produced duplicate error messages. 2009-03-01 19:34:32 +00:00
Reijo Tomperi d098b62975 Use reference instead of string copy (fixes some --style warnings from our code) 2009-03-01 19:30:51 +00:00
Daniel Marjamäki 60b3bbdea4 removed the '--vcl' flag from the console app 2009-03-01 19:10:48 +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 7d9bf491ec sizeof: fixed a problem with 'sizeof(varname)' but there are more to fix with it 2009-02-28 08:34:02 +00:00
Reijo Tomperi 42176f52ca Added Cppcheck::clearFiles() function. 2009-02-27 19:39:50 +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 c991aded12 unused functions: fixed false positives 2009-02-27 16:36:37 +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 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 4849aaa7ee checkclass: refactoring 2009-02-24 17:50:51 +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 159332fde4 sizeof fix. classes and structs are always given the size 100. This removes false positives about mismatching size 2009-02-24 16:30:57 +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
Reijo Tomperi a7b0c30884 Change -w to -j to make it similar with make and scons. 2009-02-22 18:38:10 +00:00
Kimmo Varis c50493e940 Windows RC file is ANSI file, storing as UTF-8 messes it up. 2009-02-22 14:55:29 +00:00
Reijo Tomperi 033a82d3f2 Members of ErrorLogger::ErrorMessage made public for better access to them. 2009-02-22 11:29:33 +00:00
Reijo Tomperi a64f1d6175 CppCheck::addFile() accepts paths also now. 2009-02-22 11:17:17 +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 7f94091b9f g++: fixed compiler errors 2009-02-20 19:53:14 +00:00
Reijo Tomperi 61587c42ae Fix ticket #113 (Add support for multi core CPUs and -w parameter to specifify amount of worker threads) 2009-02-20 19:40:42 +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 2b04c94b95 stl push_back: Added check (invalid iterator) 2009-02-18 19:57:43 +00:00
Daniel Marjamäki f30d7db1e8 activated the Tokenizer::elseif functionality 2009-02-17 20:03:08 +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 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
Reijo Tomperi ba28c07f9d astyle fix 2009-02-15 18:47:24 +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
Daniel Marjamäki cc63506b03 FileLister: handle '\\' path separator the same way '/' is handled 2009-02-15 11:26:00 +00:00
Daniel Marjamäki 6b52ee03cf filelister: use '\\' instead of '/' in windows paths 2009-02-15 07:58:34 +00:00
Reijo Tomperi 45c30f0c87 Code comments updated 2009-02-14 22:03:55 +00:00
Reijo Tomperi 7ef9e870cd Code comments updated 2009-02-14 22:00:19 +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 997cb071b7 astyle fix 2009-02-14 18:40:04 +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 6282b5dee8 debug output: commented out the code for writing token listing 2009-02-14 08:49:20 +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 17fbab018c simplify known value: insert known variable value into calculations 2009-02-14 06:11:37 +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 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
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
Daniel Marjamäki 7858ac9ab8 checkbufferoverrun: cleaned up the header includes 2009-02-11 05:16:10 +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 5dd1e84cf3 astyle coding style update 2009-02-10 19:41:22 +00:00
Daniel Marjamäki c1638996f9 STL: added check for iterator usage 2009-02-10 19:40:21 +00:00
Reijo Tomperi 5721e4469b stlOutOfBounds error message created 2009-02-10 19:36:49 +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 574db37a6f uninitialized variables: added testcases and made a fix 2009-02-09 07:47:41 +00:00
Reijo Tomperi fb3c81dcd9 Fix ticket #80 (refactoring: classes ErrorMessage and ErrorLogger), note that errormessage and errorlogger were merged, errormessage.* is no more. 2009-02-08 21:20:35 +00:00
Daniel Marjamäki 1637e867de mismatching allocation size: moved to error suite 2009-02-08 18:34:04 +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
Reijo Tomperi 811d76eb31 Fixed compiler warning ( #81 ) and optimized the speed a little. Removed _cstr from Token class, use _str.c_str() instead. 2009-02-07 21:05:45 +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 e71c6aaa9f Borland C++: Fix to make it compile 2009-02-07 18:35:55 +00:00
Reijo Tomperi f14c2d6155 Fixed partially ticket #81 (getting rid of compiler warnings) 2009-02-07 15:37:01 +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 eb5d11c1c3 FileLister: Added code that I received from Jeffrey Walton to handle directories and files better 2009-02-07 07:38:22 +00:00
Daniel Marjamäki 03acc12977 mismathing allocation and deallocation: moved to error checks 2009-02-06 18:24:01 +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
Daniel Marjamäki 10abbda6a7 memleak: corrected the wrong line number (#77) 2009-02-05 20:17:01 +00:00
Daniel Marjamäki 05e330ed38 incomplete statement: minor update 2009-02-05 18:57:53 +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 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 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 460c29f6a2 memory leaks: Minor fix to output correct severity 2009-02-02 06:04:48 +00:00
Daniel Marjamäki 385c28a02e xml: generating better xml output 2009-02-01 18:00:47 +00:00
Daniel Marjamäki d29d7e60a9 errmsg: refactoring the error messages 2009-02-01 15:47:36 +00:00
Daniel Marjamäki 566e1102bc changed version to 1.28 2009-02-01 08:17:45 +00:00
Reijo Tomperi 6b16b7482a Removed some dead code and improved one function to use reference instead of a copy. 2009-01-31 21:12:24 +00:00
Reijo Tomperi b471ac2e3c Fixing files using dos-style line change to use unix-style line change. 2009-01-31 19:29:27 +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 3457b38d7a errmsg: write severity in the message 2009-01-31 08:33:31 +00:00
Daniel Marjamäki b7b055e885 tokenizer: fixed TestTokenizer::sizeof1 2009-01-28 17:38:32 +00:00
Daniel Marjamäki dd9cd9ce82 unused functions: Created command line parameter --unused-functions 2009-01-28 17:26:19 +00:00
Daniel Marjamäki 0ca38cc9fe xml results: added a command line switch for generating simple results.xml file 2009-01-28 17:12:43 +00:00
Leandro Penz b30e78e14c MatchFunctionsThatReturnArg: calling Match only once. 2009-01-28 00:23:56 +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 762ae69304 function parameters: fixed segmentation fault (derefence null) 2009-01-27 07:39:11 +00:00
Daniel Marjamäki d6ef44c73e sprintf overlapping data 2009-01-27 07:21:52 +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 6ce23670e5 sprintf overlapping data: added extra text that is shown if --verbose is given 2009-01-26 19:14:46 +00:00
Daniel Marjamäki 3d61334a8c errmsg: Moved 'function parameter parname is passed by value' to the style checks 2009-01-26 18:32:00 +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 9c51729be6 preprocessor: stringify macros 2009-01-25 13:30:15 +00:00
Reijo Tomperi ed2758b082 Updated comments in code 2009-01-25 11:11:18 +00:00
Reijo Tomperi 17eee5e4d7 Fix ticket #58 (If given path is empty it is assumed that it wasn't given) 2009-01-25 11:05:51 +00:00
Reijo Tomperi 22593adeac Fix ticket #57 (wrong path in error message) 2009-01-24 20:34:16 +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
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
Kimmo Varis a0886e693e Fix two overly long lines in command line help. 2009-01-24 18:24:04 +00:00
Daniel Marjamäki 0b95fdafb7 tokenizer: Added guard in case the preprocessor is mismatching 2009-01-24 17:15:38 +00:00
Daniel Marjamäki fa070ac73c cppcheck: printing preprocessed file to 'temp.txt' 2009-01-24 13:53:53 +00:00
Reijo Tomperi d89f804d91 Fixed ticket #54 (Make cppcheck print status e.g. 4/20 files checked) 2009-01-24 08:06:40 +00:00
Daniel Marjamäki 9d29de02d3 removed windows encodings 2009-01-23 21:34:03 +00:00
Daniel Marjamäki 42e56153a4 borland and visual c++ fixes 2009-01-23 21:28:45 +00:00
Daniel Marjamäki d9b9368238 reverted [1084] it can be fixed better 2009-01-23 21:14:41 +00:00
Daniel Marjamäki f33675288e borland: the strtol is found in <stdlib.h> 2009-01-23 21:08:51 +00:00
Daniel Marjamäki 6f40ed9796 include: Had to include <cstring> in a few places to be able to compile cppcheck 2009-01-23 20:55:06 +00:00
Reijo Tomperi c9133fb85d Add additional checking to avoid ethernal loops when someone is using incorrect different case for the same file.
It should be unlikely that anyone would actually use different files in the same project and separate them only by 
casing of some letters.
2009-01-23 20:36:43 +00:00
Reijo Tomperi 8d6f41397a Fixing ticket #35 (Get rid of #ifdefs in our code where possible) 2009-01-23 20:25:13 +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 9c94e66382 better fix to get rid of compiler warning is to comment the function parameter 2009-01-23 18:37:28 +00:00
Reijo Tomperi 6a523f2730 Fixed Ticket #52, Cppcheck hangs when checking VLC's source code 2009-01-23 18:27:04 +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 9af881d548 removed bam coding 2009-01-23 16:51:45 +00:00
Daniel Marjamäki 89f4a84c37 preprocessor: The stdlib.h is needed for the exit function 2009-01-23 11:34:19 +00:00
Daniel Marjamäki de2675b46f cppcheck: The '&&' should be '||' when checking if a check should be called 2009-01-22 21:20:40 +00:00
Reijo Tomperi 5de5eab9fe Fix Ticket #46, invalid commandline. (Also added -h and --help parameters) 2009-01-22 20:26:04 +00:00
Daniel Marjamäki 67e4ea10c9 preprocessor: handle redefinition of macro 2009-01-22 20:19:07 +00:00
Reijo Tomperi e897637c7a Fix Ticket #30, Need a way to specify include file folders (-I parameter was added) 2009-01-22 19:59:50 +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 f9191539a8 Code cleanup. 2009-01-21 22:07:22 +00:00
Reijo Tomperi 1ef2c5caf5 Fixed style 2009-01-21 21:58:06 +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
Daniel Marjamäki 5fa9fce8d4 uninitialized variables: run always 2009-01-21 19:11:27 +00:00
Nicolas Le Cam afb3bf1011 Fix CheckOther::functionVariableUsage, passing a variable to a function also means reading it. 2009-01-21 19:05:57 +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 820df7fdbd code style 2009-01-21 07:23:15 +00:00
Nicolas Le Cam 001a4b588e Fix Tokenizer::setVarId for pointers and two types variable declaration 2009-01-20 23:31:54 +00:00
Nicolas Le Cam acdc381ff3 CheckOther::functionVariableUsage: minor optimization. 2009-01-20 22:40:10 +00:00
Nicolas Le Cam 5eb89414c8 Token::Match: Allow pattern like '*|' 2009-01-20 22:39:03 +00:00
Reijo Tomperi 6d8387914b Fixes test case "file2", fixes bug with include file handling 2009-01-20 22:25:49 +00:00
Nicolas Le Cam 5d8f506d6b Tokenizer: Remove 'unlikely' keyword in simplifyTokenList;
Don't check for it in CheckMemoryLeak.
2009-01-20 21:21:12 +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 ea3094166c code cleanup 2009-01-20 06:20:55 +00:00
Reijo Tomperi df5adc5f4f Added test case preprocessor_doublesharp, executed ./runastyle for errormessage.h 2009-01-19 21:45:59 +00:00
Nicolas Le Cam 2b2152919f Update errormessage.h and code using it. 2009-01-19 19:50: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 adc116d0ef Changed output of the program to print out the file name before
preprocessor.
2009-01-19 19:00:36 +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 e90857ce0d tokenizer: activated the handling of #file and #endfile 2009-01-19 17:49:44 +00:00
Daniel Marjamäki af87fececa preprocessor: Activated the include handling 2009-01-19 17:47:43 +00:00
Kimmo Varis 0b2bd09b24 Visual Studio: Fix building resource file with Visual Studio Express. 2009-01-19 06:40:59 +00:00
Nicolas Le Cam 45478a7178 FileLister: Fix bug that prevent a file passed by with paths to be checked; Add the possibility to use \ as a directory separator on Windows closing issue #22 2009-01-18 23:51:31 +00:00
Reijo Tomperi 3cb51d6946 Fixing crash, not sure about side effects. Ticket #37 2009-01-18 23:03:28 +00:00
Reijo Tomperi 50d9a085da Added temporary bailout code, cppcheck crashes when string checking leaks out. This needs a better fix, this is just to
see the problem more easily.
2009-01-18 22:46:48 +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
Reijo Tomperi 45c1b3c3ca More work for includes, still commented out. Uncomment from tokenize.cpp and
preprocessor.cpp to take into use.
2009-01-18 18:59:58 +00:00
Reijo Tomperi 3f98024215 More work for includes, still commented out. Tokenizer needs #file handling 2009-01-18 18:01:56 +00:00
Daniel Marjamäki 0177f77505 code style fix 2009-01-18 17:47:40 +00:00
Daniel Marjamäki f409861492 strPlusChar: Fixed false positives 2009-01-18 17:42:41 +00:00
Reijo Tomperi b1250e1750 Some work for the include support (commented out for now) 2009-01-18 17:13:05 +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 8785483878 preprocessor: Reactivated the expandMacros. This time it's done after the #if #else #endif has been
processed
2009-01-18 16:42:15 +00:00
Daniel Marjamäki ea686a1da9 preprocessor: fixed so the TestPreprocessor::preprocessor_undef succeeds 2009-01-18 16:37:40 +00:00
Daniel Marjamäki 73630c4640 style updated 2009-01-18 12:19:48 +00:00
Daniel Marjamäki 6cb6e163cd preprocessor: Refactoring. Broke out some functionality of expandMacros into a class Macro 2009-01-18 12:17:26 +00:00
Daniel Marjamäki 4ee4645858 Preprocessor: Reverted [1008] - The old expandMacros was readded 2009-01-18 10:54:07 +00:00
Kimmo Varis 9bf6383c4e Fix VS build broken due to tripled version resource info. 2009-01-18 09:38:42 +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
Daniel Marjamäki 0a027a55ef preprocessor: Don't use the "expandMacros" from cppcheck 2009-01-18 07:22:17 +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
Kimmo Varis bfc82f29eb Does not understand . as current folder (Trac #4) 2009-01-17 19:34:11 +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
Reijo Tomperi 9298caa809 Patch [ 2508549 ] Add Windows version resource 2009-01-17 12:08:20 +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
Reijo Tomperi afe19dd0a2 Added .c++ to help texts also. 2009-01-16 22:42:08 +00:00
Daniel Marjamäki c279f83664 preprocessor: bail out code in expandMacros 2009-01-16 21:30:06 +00:00
Reijo Tomperi 449dcc2a60 Add support for .c++ files ( Debian Bug#512060: cppcheck: refuses to
check .c++ files )
2009-01-16 20:46:41 +00:00
Daniel Marjamäki a39eaec1cc preprocessor: Fixed a null pointer dereference 2009-01-16 19:50:39 +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 f663d1da84 function usage: don't report "main" and "if" as unused 2009-01-16 16:20:35 +00:00
Daniel Marjamäki 1db6c010e3 memory leak: don't show debug info 2009-01-16 16:19:50 +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 218c107b6f code style 2009-01-15 17:12:55 +00:00
Daniel Marjamäki 66e93b24e2 str plus char: added simple variable handling 2009-01-15 17:12:33 +00:00
Daniel Marjamäki ad9aba6e1b code style fixing 2009-01-15 17:00:15 +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 a01c5a6099 preprocessor: Bail out the expandMacros if it finds "#undef". The previous handling can cause cppcheck to hang 2009-01-14 19:50:17 +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 b9460ca6f8 preprocessor: a segmentation fault fix. Check if tokens is null. 2009-01-14 17:22:11 +00:00
Daniel Marjamäki a196ea1c2c dos2unix fixing 2009-01-14 17:17:28 +00:00
Daniel Marjamäki 2d58b2b9ee memory leak: fixed false positive about using variable after it is released 2009-01-14 16:21:54 +00:00
Daniel Marjamäki 9e91f75386 cppcheck: added function call to the variable scope check. 2009-01-14 07:43:46 +00:00
Daniel Marjamäki a604f56f19 buffer overruns: added sprintf checking 2009-01-14 06:29:35 +00:00
Daniel Marjamäki 12b248aa66 doxygen: Added comments in checkbufferoverrun.h 2009-01-14 06:13:54 +00:00
Daniel Marjamäki f7e4f13ecd Memory leak: Readded some checking to classes 2009-01-14 05:58:20 +00:00
Leandro Penz f33153e086 unreachableCode: avoid SIGSEGV when there is no "}" after return. 2009-01-14 01:29:33 +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 c8a5bd16a1 errmsg: Added 'assignment in if-condition' 2009-01-13 17:56:45 +00:00
Daniel Marjamäki aa592387e6 errmsg: refactoring 2009-01-13 06:25:36 +00:00
Daniel Marjamäki cc65242626 errmsg: added message about bad usage of char variable 2009-01-12 18:52:43 +00:00
Daniel Marjamäki fdf5b215f9 errmsg: Added message for 'incomplete statement' 2009-01-12 17:46:24 +00:00
Daniel Marjamäki a5eb8894d4 errmsg: Added messages for 'variable is not used / not read / not assigned' 2009-01-12 17:40:20 +00:00
Daniel Marjamäki 13e2396345 errmsg: Added message 'function parameter is passed by value' 2009-01-12 17:32:53 +00:00
Daniel Marjamäki df689b454c errmsg: added message 'unreachable code below return' 2009-01-12 17:28:04 +00:00
Daniel Marjamäki a0ef840138 errmsg: Added 'unused struct member' 2009-01-12 17:21:25 +00:00
Daniel Marjamäki 03888046d8 errmsg: Made the 'unsigned division' a style error 2009-01-12 17:14:03 +00:00
Daniel Marjamäki 980b10bfc9 errmsg: Added 'unsigned division' 2009-01-12 17:12:14 +00:00
Daniel Marjamäki e70f68f266 refactoring: cleanup old code 2009-01-12 16:53:14 +00:00
Daniel Marjamäki 17d4c2b980 errmsg: Added message 'Overlapping data buffer' 2009-01-12 06:52:50 +00:00
Daniel Marjamäki ae861852e2 errmsg: Added "found redundant if - 'if (condition);' 2009-01-12 06:44:47 +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 9d8af10583 errmsg: the "unused function" message shall not take any Tokenizer nor Token parameters 2009-01-11 08:10:51 +00:00
Daniel Marjamäki 94667320e8 preprocessor: Handle "<backslash><newline>" better 2009-01-11 07:19:28 +00:00
Daniel Marjamäki 3d8791eebd errmsg: added "unused function" 2009-01-11 06:44:32 +00:00
Leandro Penz 764e44790f match: skip initial !! patterns if on first token. 2009-01-10 21:13:10 +00:00
Leandro Penz 12a7d1df4b match: optimisation 2009-01-10 20:40:05 +00:00
Daniel Marjamäki 1e6b54b2c5 errmsg: added "mismatching allocation and deallocation" 2009-01-10 19:30:41 +00:00
Daniel Marjamäki 327d09502a cppcheck: Minor bug fix 2009-01-10 19:24:23 +00:00
Daniel Marjamäki 47a7c915fa errmsg: Added error messages for "Array index out of bounds" and "Buffer overrun" 2009-01-10 19:23:21 +00:00
Daniel Marjamäki 897c02e3ed errmsg: added error message about virtual destructors 2009-01-10 18:03:56 +00:00
Daniel Marjamäki 6acb123f1d errmsg: Added "operator= should return something 2009-01-10 17:57:31 +00:00
Daniel Marjamäki 1fc5f5485f errmsg: Added "Using 'memset' on class" 2009-01-10 17:51:03 +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 41a73e3b1e errmsg: bug fix 2009-01-10 12:03:18 +00:00
Daniel Marjamäki 985b8fa05f sprintf: fixed false positives with "sprintf(buf, "%i", sizeof(buf)); 2009-01-10 11:19:17 +00:00
Daniel Marjamäki d6d26f4705 match: optimisation 2009-01-10 07:10:18 +00:00
Daniel Marjamäki ae4ab2fcb6 preprocessor: code style fixing 2009-01-10 07:09:47 +00:00
Daniel Marjamäki cd9323ca62 preprocessor: handle the \newline in strings 2009-01-10 07:07:51 +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
Daniel Marjamäki 7851b1042f errormessage: added error message ErrorMessage::dangerousUsageStrtol 2009-01-09 19:15:54 +00:00
Daniel Marjamäki 3e5398499f errormessage: added header 2009-01-09 19:01:25 +00:00
Daniel Marjamäki 6bdb14edfd tokenize: avoid "terminate called after throwing an instance of 'std::out_of_range'" 2009-01-09 18:00:11 +00:00
Reijo Tomperi 46f4701c26 Main returns now EXIT_SUCCESS or EXIT_FAILURE instead of 0. Feature request fixed: [ 2489787 ] Return value of cppcheck is always 0 2009-01-08 21:30:25 +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
Reijo Tomperi 4dfc3a9c3d Added license text to errormessage.h (via code tha generates it) and also mention that it is generated by machine 2009-01-08 20:51:07 +00:00
Daniel Marjamäki 2a2adb037a errormessage: Added the new errormessage handling to cppcheck 2009-01-08 17:32:33 +00:00
Daniel Marjamäki 1bc5740742 errormessage: updated the files. the errormessage.h is automaticly
generated by the tools/errmsg program
2009-01-08 17:31:07 +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
Daniel Marjamäki de7de91091 preprocessor: applied patch submitted by kimmov 2009-01-07 17:47:32 +00:00
Daniel Marjamäki 40637e436f Reverted [890] it cause more problems with Visual C++ 2009-01-07 15:43:20 +00:00
Daniel Marjamäki 8c71c4194f Borland C++: Removed unneeded ifdefs 2009-01-07 15:16:15 +00:00
Reijo Tomperi 3a2fd91783 Optimization: 6,2 s -> 5,6 s 2009-01-06 22:58:33 +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