Commit Graph

442 Commits

Author SHA1 Message Date
Daniel Marjamäki 1aac8f3e52 Uninitialized variables: disable subfunction analysis if multiple threads are used 2010-01-12 22:33:47 +01:00
Daniel Marjamäki 0638bc2112 CheckMemoryLeaks: Added 'strlen' to white list 2010-01-12 22:10:59 +01:00
Daniel Marjamäki fd5e3e63b8 Fixed #1258 ('fscanf' missing in call_func_white_list) 2010-01-12 21:56:22 +01:00
Daniel Marjamäki 2de49129dc Fixed #1259 (false postive: Member variable 'A::b' is not assigned a value in 'A::operator=') 2010-01-12 21:36:40 +01:00
Daniel Marjamäki 2358c51694 Tokenizer: some cleanup of std:: 2010-01-12 21:25:31 +01:00
Daniel Marjamäki 374def4a53 Fixed #1070 (Improve scope error message) 2010-01-12 19:34:33 +01:00
Daniel Marjamäki 814eb6caee Fixed #1257 (potential leaks not reported becauseof 'continue' in loop) 2010-01-12 19:12:08 +01:00
Robert Reif 5e8e4fd3e9 Fixed #1252 (Internal error in Cppcheck while parsing struct) 2010-01-12 17:38:36 +01:00
Robert Reif 7b6bf80057 Fixed #1250 (tokenize typedef of union) 2010-01-11 22:58:57 +01:00
Daniel Marjamäki d3b7f5931f Fixed #1174 (improve check: Unintialized variable not detected in subfunction) 2010-01-11 22:28:07 +01:00
Daniel Marjamäki c666a9662b BufferOverrun: negative index is out of bounds 2010-01-11 21:18:07 +01:00
Daniel Marjamäki b8b6b0ec32 Uninitialized variables: fixed false positives when using pointer aliasing 2010-01-11 19:25:01 +01:00
Robert Reif 94d5e32aa1 Fixed #1248 (tokenize typedef of array) 2010-01-11 17:09:04 +01:00
Daniel Marjamäki 8be54b592d ExecutionPath: better handling of for/while/do/switch, it doesn't bail out everything 2010-01-10 22:05:51 +01:00
Daniel Marjamäki c5966bba59 Fixed #1225 (false negative :: uninitialized variable not detected when using enums) 2010-01-10 20:36:15 +01:00
Daniel Marjamäki 3fb420cbf0 fixed unlogged errors from the tokenizer and also some errors reported by valgrind 2010-01-10 20:03:46 +01:00
Daniel Marjamäki a50ec2eded memory leaks: better handling of loops and switch 2010-01-10 15:40:50 +01:00
Daniel Marjamäki f65bf6d565 Fixed #1220 (False memory leak when using while) 2010-01-10 14:00:32 +01:00
Daniel Marjamäki 3fabe53570 Memory leaks: Better handling of switch 2010-01-10 10:37:54 +01:00
Daniel Marjamäki b82cb2e41e Fixed #1218 (Improve check: incrementing uninitialized variable i++) 2010-01-10 09:09:37 +01:00
Robert Reif 19ba151531 Fixed #1244 (tokenize typedef of unnamed struct) 2010-01-10 08:49:02 +01:00
Daniel Marjamäki 4c641ed80c Fixed #1189 (false negative: using uninitialized variable i 'a[i] = 0;') 2010-01-09 22:26:05 +01:00
Daniel Marjamäki 0908728601 Fixed #1231 (Preprocessor: Fail to evaluate '#if ! defined _ABCD_') 2010-01-09 21:54:20 +01:00
Daniel Marjamäki 6ec5b797ab Borland C++: Fixed compiler error 2010-01-09 10:24:35 +01:00
Daniel Marjamäki 2dd0907146 fixed segmentation fault 2010-01-08 21:54:24 +01:00
Daniel Marjamäki ca74f57fd0 Fixed #1237 (Uninitialized variable false positive for return-value pattern in pan source code.) 2010-01-08 21:24:48 +01:00
Robert Reif 60ef3ef872 Fixed #1233 (false positive: operator = should check for assignment to self) 2010-01-08 19:15:24 +01:00
Daniel Marjamäki 686137415f Fixed #1235 (CheckMemoryLeakInFunction: Wrong handling of 'fcloseall') 2010-01-07 21:36:51 +01:00
Robert Reif b30b07beee Fixed #1232 (segmentation fault of cppcheck when scanning templates) 2010-01-07 18:09:35 +01:00
Daniel Marjamäki b366dba682 After suggestion from Jim Vollner, remove dead pointers from the used list 2010-01-06 21:29:39 +01:00
Daniel Marjamäki 94b0cbbcff uncomment validation of Tokenizer::_tokensBack 2010-01-06 21:18:42 +01:00
Daniel Marjamäki 57d1da3910 Ticket #1228 : Handle tokensBack in the Token class. When adding&removing tokens the Token class can make sure that this pointer is updated accordingly. It is very important that the tokensBack has the same scope as the token list, otherwise there will be a dead pointer problem. 2010-01-06 20:19:27 +01:00
Daniel Marjamäki 485f3c7708 Fixed #1221 ([False positive] Member variable not initialized with operator[] gives wrong result) 2010-01-06 19:04:15 +01:00
Reijo Tomperi ff0573998a Added more validating code to tokenizer. Currently commented out. 2010-01-06 01:32:05 +02:00
Robert Reif e6cc897e29 Fixed #1224 (segmentation fault of cppcheck) 2010-01-05 21:55:33 +01:00
Robert Reif 13f627d0d5 Fixed #1215 (are enums processed properly?) 2010-01-04 17:22:06 +01:00
Kimmo Varis 488ea55358 CMake - add header files to lib project (and to VS project). 2010-01-03 21:08:49 +02:00
Daniel Marjamäki e248f7d3e5 Fixed #1023 (improve check: Unintialized variable not detected when using +=) 2010-01-03 18:49:13 +01:00
Daniel Marjamäki e286896d75 Fixed #1216 (false positive: uninitialized variable when using exit|abort) 2010-01-03 15:35:32 +01:00
Daniel Marjamäki fa535ff3ae Fixed #440 (NULL referencing not detected) 2010-01-03 13:30:20 +01:00
Robert Reif 2a546dc9c0 Fixed #1184 (improve test: operator =) 2010-01-03 08:26:02 +01:00
Daniel Marjamäki 1032eb2449 Fixed #1214 (false positive: uninitialized variable 'bool fixed = std::ios_base::fixed;') 2010-01-03 08:03:28 +01:00
Daniel Marjamäki 38b480a4b5 Fixed #1203 (Preprocessor: Doesn't handle macros usage that contain ';') 2010-01-02 20:54:52 +01:00
Daniel Marjamäki d82079e86f Fixed #1209 (False positive: uninitialized variable c when it is initialized with 'ab(sizeof(xyz), &c)') 2010-01-02 18:16:44 +01:00
Robert Reif bcafb30d0d Fixed #1211 (add struct support for constructor checks) 2010-01-02 17:29:55 +01:00
Daniel Marjamäki 2e62a3f4c7 Fixed #1202 (false positive: uninitialized variable when using 'do') 2010-01-02 09:08:36 +01:00
Daniel Marjamäki 6af5e434d8 Fixed #1204 (Tokenizer::findClassFunction broken) 2010-01-02 08:33:54 +01:00
Slava Semushin 82ae064218 Fixed #1013 (autovariables: detect when assigning parameter **par)
http://sourceforge.net/apps/trac/cppcheck/ticket/1013
2010-01-02 03:53:34 +06:00
Slava Semushin b816968f28 Fixed #1197 (Segmentation fault when we define function which was already defined by preprocessor)
http://sourceforge.net/apps/trac/cppcheck/ticket/1197
2010-01-02 03:25:37 +06:00
Daniel Marjamäki ddfd0b948e Fixed #1178 (1.39: Internal error) 2010-01-01 21:06:30 +01:00
Daniel Marjamäki 071b7b463d Fixed #1200 (false positive 'uninitialized variable' when using throw) 2010-01-01 20:12:39 +01:00
Daniel Marjamäki b0d7623dcf refactoring the fix for #1191 2010-01-01 19:49:33 +01:00
Daniel Marjamäki f8bd59f5b5 Fixed #1191 (false positive: uninitialized variable) 2010-01-01 19:43:02 +01:00
Daniel Marjamäki 77c5b793c9 Fixed #1196 (Hang: Cppcheck hang for the file linux-2.6/drivers/crypto/hifn_795x.c) 2010-01-01 13:26:54 +01:00
Daniel Marjamäki 7ecd333ffa Fixed #1188 (false negative: dereferencing p, which is a null pointer 'int y = 5 + *p') 2009-12-31 20:00:20 +01:00
Daniel Marjamäki e0ecef5d71 fixed a hang in Tokenizer::simplifyFunctionParameters 2009-12-31 19:31:21 +01:00
Robert Reif 12641e2d76 Fixed #1184 (improve test: operator =) 2009-12-31 13:44:03 +01:00
Daniel Marjamäki f797794601 fixed cppcheck warning 2009-12-31 13:34:43 +01:00
Daniel Marjamäki ee1675270b Fixed #1181 (Preprocessor fails while expanding macros) 2009-12-31 12:45:17 +01:00
Daniel Marjamäki 0159287437 Fixed #1183 (False positive: uninitialized variable p 'd = bar(sizeof(*p));') 2009-12-31 09:10:20 +01:00
Daniel Marjamäki 0ee3d7e46a Fixed #1182 (False positive: uninitialized variable 'int *pa = &a;') 2009-12-30 21:42:15 +01:00
Daniel Marjamäki 6c0919d9bd Fixed #1173 (Improve check: memory leak not detected in constructor) 2009-12-30 21:29:54 +01:00
Robert Reif f8f0a31e41 Fixed #1167 (### Internal error in Cppcheck. Please report it.) 2009-12-30 20:56:16 +01:00
Daniel Marjamäki 71a83647c6 cleanup 2009-12-30 20:38:16 +01:00
Daniel Marjamäki ae3ff7d376 Fixed #1087 (uninitialized data not detected 'char z = *str') 2009-12-30 20:37:11 +01:00
Daniel Marjamäki 461d826eff Fixed #1105 (improve check: uninitialized variable not detected for 'a = a') 2009-12-30 20:15:44 +01:00
Robert Reif 3a46ef0487 Fixed #1176 (void operator = check doesn't support struct) 2009-12-30 18:40:02 +01:00
Daniel Marjamäki d83131ca92 Fixed #1041 (passing a nullpointer to a reference) 2009-12-30 17:42:41 +01:00
Daniel Marjamäki a7ab47bb98 Fixed #1067 (Tokenizer: K&R style function that returns function pointer) 2009-12-30 15:12:38 +01:00
Daniel Marjamäki 06ee643c6a Fixed #1177 (False positive: pointer is not dereferenced 'sizeof(*p)') 2009-12-30 11:32:46 +01:00
Daniel Marjamäki 2de2ecafe4 Fixed #1168 (false positive: Uninitialized variable) 2009-12-30 08:24:27 +01:00
Daniel Marjamäki 2a28ca72cc Fixed #1166 (improve check: using uninitialized pointer to create reference 'int &r(*p);') 2009-12-29 20:36:20 +01:00
Daniel Marjamäki 71b328d703 Robert Reif: Fixed #1163 (post increment test broken for complex template types) 2009-12-29 19:24:48 +01:00
Daniel Marjamäki 160f795710 Fixed #1165 (Tokenizer: wrong simplification of 'do { .. } while (0)' if the body contains continue or break) 2009-12-29 12:15:39 +01:00
Daniel Marjamäki 4cbae159b2 ExecutionPath: Refactoring. Removed the bailOut variable 2009-12-29 09:30:02 +01:00
Daniel Marjamäki cfdf2b8cfe Fixed #1160 (Null pointer dereference vs. goto) 2009-12-29 09:17:07 +01:00
Daniel Marjamäki 58e85d55e3 astyle formatting 2009-12-29 07:50:33 +01:00
Daniel Marjamäki 905533552d Robert Reif: Fixed #1164 (only first void operator = found) 2009-12-29 07:48:37 +01:00
Daniel Marjamäki 84ce6ba75a Robert Reif: Fixed #1162 (add support to tokenize typedefs with templates) 2009-12-29 07:28:00 +01:00
Daniel Marjamäki d3d3ad101f Valgrind: Fixed memory leaks when running testrunner that was found by Valgrind 2009-12-28 19:48:30 +01:00
Daniel Marjamäki 61e61c1584 Robert Reif: Fixed #1158 ((possible style) message with regular check) 2009-12-28 18:06:26 +01:00
Daniel Marjamäki 28f2bf2150 Robert Reif: Fixed #1161 (add tokenize support for typedefs with enum definitions) 2009-12-28 17:57:52 +01:00
Daniel Marjamäki 6a31fe6403 Fixed #1159 (Valgrind gives error in Tokenizer::simplifyWhile0) 2009-12-28 16:32:34 +01:00
Daniel Marjamäki 9aca2e7680 Fixed #1156 ([False positive] Uninitialized variable - class member in constructor) 2009-12-28 12:51:28 +01:00
Daniel Marjamäki 6fd74dce47 exitcode suppressions. Partly fixes #1113 2009-12-28 11:26:52 +01:00
Daniel Marjamäki 197bcf17ba Tokenizer: Simplify 'while (0)' better 2009-12-28 08:37:34 +01:00
Daniel Marjamäki b1e963fe2c Fixed another issue with #1154 (false positive: Data is allocated but not initialized) 2009-12-27 18:00:43 +01:00
Daniel Marjamäki 24c5f4d53c astyle formatting 2009-12-27 17:46:24 +01:00
Daniel Marjamäki 1c0f3ee179 Fixed #1154 (false positive: Data is allocated but not initialized) 2009-12-27 17:35:18 +01:00
Daniel Marjamäki 738987a686 Fixed #1138 (improve check: dereferencing uninitialized pointer) 2009-12-27 17:20:34 +01:00
Martin Ettl c3886a5803 added further testcases to testmathlib::convert(); now the conversion of +-[hexnumber|octalnumber] works correctly 2009-12-27 15:18:18 +01:00
Martin Ettl c2b3cfccc9 extended testcases of mathlib; fixed zero conversion: +0 and -0 is converted to 0 2009-12-27 14:30:23 +01:00
Daniel Marjamäki c7cede1d76 Fixed #972 (New check: return pointer of stack memory) 2009-12-27 13:08:41 +01:00
Daniel Marjamäki dccba65502 Uninitialized variables: Refactoring and commenting a little 2009-12-27 10:48:44 +01:00
Daniel Marjamäki fbfe5a4bd1 Fixed #1153 (False positive: uninitialized data for reinterpret_cast) 2009-12-27 09:27:05 +01:00
Daniel Marjamäki ab7ffd2391 Uninitialized variables: Fixed false positive for 'if (ptr)' 2009-12-26 16:22:14 +01:00
Daniel Marjamäki a82a085d10 Fixed #1151 (false positive: Data is allocated but not initialized) 2009-12-26 09:30:02 +01:00
Daniel Marjamäki ad8184f060 Fixed #1152 (Hang/Slow: ExecutionPath handling hangs) 2009-12-26 08:37:59 +01:00
Daniel Marjamäki 9819b75e17 ExecutionPath: Refactoring if-handling 2009-12-25 20:50:23 +01:00
Daniel Marjamäki 7bf0622ae0 ExecutionPath: Refactoring the interface 2009-12-25 20:12:06 +01:00
Daniel Marjamäki b5291825ce Fixed #683 (wrong usage of strcmp) 2009-12-25 19:45:21 +01:00
Daniel Marjamäki 5925b88b38 Robert Reif: improve check: array index out of bounds, show name of array, array size and array index 2009-12-25 15:25:58 +01:00
Daniel Marjamäki 1a25e40180 Robert Reif: fix cppcheck post increment warning 2009-12-25 15:19:36 +01:00
Daniel Marjamäki 44a629ec74 Fixed #1141 (Tokenizer: Wrong simplification of calculations) 2009-12-25 14:47:15 +01:00
Daniel Marjamäki 9b05850e97 fixed unit testing 2009-12-23 20:00:12 +01:00
Daniel Marjamäki ea51c3e098 Refactoring the uninitialized variable / null pointer checks so they use a common function to inspect function calls 2009-12-23 19:51:32 +01:00
Daniel Marjamäki a7d48f2eb4 Fixed #1147 (Improve check: return uninitialized variable) 2009-12-23 17:55:03 +01:00
Daniel Marjamäki b6c320de8a Fixed false positives about uninitialized variables 2009-12-23 15:01:23 +01:00
Daniel Marjamäki ef21ba7425 Fixed #1137 (false positive: uninitialized variable when using a class object) 2009-12-23 13:57:01 +01:00
Daniel Marjamäki 5a89cc3259 Robert Reif: Fixed #1139 (false negative: CheckOther::postIncrement() only finds at most one problem) 2009-12-23 13:38:54 +01:00
Daniel Marjamäki 4419f4a342 Robert Reif: fix a style warning 2009-12-23 12:16:02 +01:00
Daniel Marjamäki d2dc5806cd Borland C++: Fixed compiler error 2009-12-22 23:21:52 +01:00
Daniel Marjamäki 305ef25208 Visual Studio: Added casts to silence compiler warnings 2009-12-22 22:44:21 +01:00
Daniel Marjamäki cd2e501794 Visual Studio: Fixed unittests 2009-12-22 21:56:00 +01:00
Daniel Marjamäki 2bd60ab6c8 Fixed #1133 (Uninitialized array: strchr, strrchr, etc) 2009-12-22 21:08:29 +01:00
Daniel Marjamäki 566cfce8da Fixed #1128 (false positive: Data is allocated but not initialized) 2009-12-22 21:00:52 +01:00
Daniel Marjamäki c05aebbc0a Fixed #1112 (cppcheck fails because of accented characters in comments) 2009-12-22 20:38:12 +01:00
Daniel Marjamäki 4dac46b2d7 Fixed #1127 (Segfault with template) 2009-12-22 20:10:08 +01:00
Daniel Marjamäki 11da89784f Eric Sesterhenn: Fixed #1130 (False positive uninitialized variable) 2009-12-22 19:16:34 +01:00
Daniel Marjamäki b4b63789fc Eric Sesterhenn: Fixed #1131 (descriptor leak false positive) 2009-12-22 19:13:46 +01:00
Daniel Marjamäki 5b87a51aa5 Robert Reif: Fixed #1108 (Only trivial typedefs are tokenized properly) 2009-12-22 19:10:33 +01:00
Daniel Marjamäki 2e0566bf7a Fixed #1096 (Non-obvious error message: Overlapping data buffer) 2009-12-21 21:05:55 +01:00
Daniel Marjamäki 72bf1c1dbe Fixed #1095 (Non-obvious error message: Dangerous usage of erase) 2009-12-21 20:49:16 +01:00
Daniel Marjamäki f5f8d857c1 preprocessor: removed unnecessary casts 2009-12-21 20:26:57 +01:00
Daniel Marjamäki 83d5a72659 Fixed #1126 (False positive: upon exception there is memory leak (calling unknown function)) 2009-12-21 20:04:55 +01:00
Daniel Marjamäki b3b07321ca ericsesterhenn: Fixed #1091 (improve check: nullpointer dereference not detected) 2009-12-21 19:09:13 +01:00
Daniel Marjamäki 763e3d9eb5 Execution Path: Refactoring 2009-12-21 18:17:35 +01:00
Reijo Tomperi df0d2ca83c Fix #1124 (Invalid number of character ((). Can't process file.)
http://sourceforge.net/apps/trac/cppcheck/ticket/1124
2009-12-20 23:50:57 +02:00
Daniel Marjamäki 11c7b8a839 Execution Path: some refactorings of the checking 2009-12-20 19:44:32 +01:00
Daniel Marjamäki d9cf70c1c6 Fixed #1119 (false positve: uninitialized variable y when y is assigned in inner expression 'x = (y = 10)') 2009-12-20 13:55:17 +01:00
Daniel Marjamäki 191a913ff9 Fixed #1117 (segmentation fault of cppcheck) 2009-12-20 12:45:34 +01:00
Kimmo Varis 9e2a42ebf9 CMake - use more strict compiler flags. 2009-12-20 10:45:57 +02:00
Daniel Marjamäki d86234b7fd Preprocessor: Use 'unsigned char' instead of 'char' 2009-12-20 09:35:51 +01:00
Daniel Marjamäki 74b9bccd07 code cleanup 2009-12-20 09:02:25 +01:00
Daniel Marjamäki 813c674611 stl size: minor fix to prevent segmentation fault when token is null 2009-12-19 19:27:12 +01:00
Daniel Marjamäki ad225ea745 stl size: added documentation 2009-12-19 19:24:48 +01:00
Daniel Marjamäki e7c0e4d482 Fixed #1093 (False positive: missing constructor) 2009-12-19 17:58:52 +01:00
Daniel Marjamäki 8a1940e043 astyle 2009-12-19 17:57:58 +01:00
Daniel Marjamäki 95f652a2b4 robert reif: Fixed #1118 (new check: use empty() instead of checking size() against zero) 2009-12-19 15:24:59 +01:00
Daniel Marjamäki 69a98d81fc Fixed #1107 (False positive: Dangerous usage of erase, when using std::list) 2009-12-18 20:55:51 +01:00
Daniel Marjamäki 8665b36f54 lanurmi: Fixed #1016 (Patch: Refactor #ifdefs in filelister.cpp) 2009-12-18 18:52:09 +01:00
Daniel Marjamäki d4adab3e78 added error info about the strncpy check 2009-12-18 17:33:33 +01:00
Daniel Marjamäki 0da0b5ffed ericsesterhenn: Fixed #1106 (check if buffer is zero terminated after a strncpy) 2009-12-18 17:26:15 +01:00
Kimmo Varis b619538aa3 CMake - add missing file in lib. 2009-12-17 20:19:55 +02:00
Kimmo Varis a669ef0ed4 CMake - reorder files in lib's makefile. 2009-12-17 20:16:28 +02:00
Kimmo Varis c85c0fbabc Add simple CMake build files to build lib and cli.
Apparently not everybody wants to use QMake to build cppcheck. Which is
understandable if you only want to hack on/build lib and cli. Qt and QMake are
pretty lot to install for just that.

So lets start using CMake. It is widely used and is "just" build system and not
programming framework. CMake is also easy to use for building Qt software too
so it can replace QMake.

This first commit only builds lib and cli for Linux.
2009-12-15 22:27:17 +02:00
Daniel Marjamäki 1680d1fb42 Fixed #1086 (segmentation fault of cppcheck '#if define(A)+define(B)+define(C)!=1') 2009-12-15 20:18:32 +01:00
Daniel Marjamäki e03ff727d4 Fixed #1103 (false positive: uninitialized variable when using references) 2009-12-15 19:50:48 +01:00
Daniel Marjamäki 368df4c083 TestLocalLeaks: going out of scope 2009-12-15 19:27:07 +01:00
Reijo Tomperi 64261e6909 Fix compiler error: cast from 'CheckLocalLeaks*' to 'int' loses precision 2009-12-15 00:57:32 +02:00