Commit Graph

646 Commits

Author SHA1 Message Date
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