Commit Graph

502 Commits

Author SHA1 Message Date
Robert Reif 8be8c266ac Fixed #1313 (unnamed enums not simplified properly) 2010-01-25 07:45:16 +01:00
Robert Reif 989e8393e4 Fixed #1307 (Internal error with typedef in parameter list) 2010-01-24 22:40:35 +01:00
Daniel Marjamäki 724c55b32a Memory leaks: some refactorings and minor improvements 2010-01-24 21:48:39 +01:00
Daniel Marjamäki 65881b9346 Fixed #1238 (False Negative : memory leak with template class) 2010-01-24 20:04:09 +01:00
Daniel Marjamäki 6d9740adea Tokenizer: Fixed Tokenizer::simplifyKnownVariable bug when the variable is re-assigned in a loop 2010-01-24 19:27:39 +01:00
Daniel Marjamäki 7ce4825f95 Fixed #1308 (False positive: The function 'x' can be const for a static member function) 2010-01-24 18:26:39 +01:00
Daniel Marjamäki 25ba399a50 const class functions: refactorings 2010-01-24 13:45:56 +01:00
Daniel Marjamäki b4b97e5706 const: fixed false positive when using increment/decrement 2010-01-24 13:33:30 +01:00
Reijo Tomperi 24052c16b4 Fix some style errors found from our own code. 2010-01-23 23:44:08 +02:00
Daniel Marjamäki a0d8f44603 CheckClass: The operator< etc member functions can often be const 2010-01-23 22:36:04 +01:00
Reijo Tomperi 7817d5b142 Fix #1279 (Change error message: Invalid number of character ({). Can't process file.)
http://sourceforge.net/apps/trac/cppcheck/ticket/1279
2010-01-23 23:18:11 +02:00
Daniel Marjamäki 4d7ac2f82e STL: fixed false positive when using erase 2010-01-23 22:03:38 +01:00
Daniel Marjamäki 43c8fe895c Fixed #1301 (False positive: Data is allocated but not initialized) 2010-01-23 21:25:17 +01:00
Daniel Marjamäki aab05524e5 Fixed #1305 (False positive: The function 'x' can be const when indirectly calling a non-const member) 2010-01-23 21:08:40 +01:00
Daniel Marjamäki 9a6b450501 Fixed #1304 (False positive: The function 'x' can be const when modifing a member) 2010-01-23 20:59:20 +01:00
Daniel Marjamäki 5b76be4935 Fixed #1303 (False positive: The function 'x' can be const for a constructor) 2010-01-23 20:47:29 +01:00
Daniel Marjamäki f62466493b New Check: Detect return of invalid reference 2010-01-23 20:39:12 +01:00
Daniel Marjamäki fb10396cb3 only run CheckClass::checkConst if style checking is on 2010-01-23 09:38:35 +01:00
Daniel Marjamäki 35c303943f Partial fix for #13 - detect simple cases of member functions that can be const 2010-01-23 09:19:22 +01:00
Daniel Marjamäki 037ecffc34 detect when function pointer that is null is used 2010-01-23 09:15:30 +01:00
Daniel Marjamäki 7b986c831d Report when using uninitialized function pointer 2010-01-23 07:57:57 +01:00
Daniel Marjamäki 8a9eba980b Function pointers: re-enabled the simplifyFunctionPointers 2010-01-23 07:43:12 +01:00
Robert Reif 13ca2510cc Fixed #1298 ((error) ### Internal error in Cppcheck. Please report it. (typedef in fun proto)) 2010-01-22 20:26:07 +01:00
Daniel Marjamäki 1552c0f7f2 Fixed #1276 (False Uninitialized variable when using goto) 2010-01-22 20:20:43 +01:00
Daniel Marjamäki e9c8e1d8b1 doxygen and minor refactorings 2010-01-22 19:29:24 +01:00
Daniel Marjamäki 59de7934b7 Fixed #643 (Member variable not initialized not detected if any unknown function called) 2010-01-22 18:51:25 +01:00
Robert Reif 9f853cb164 Fixed #1297 (typedef causes internal error in vlc/modules/access/imem.c) 2010-01-22 17:27:40 +01:00
Daniel Marjamäki d4b13eee9f Fixed #1290 (1.40: Internal error) 2010-01-21 20:05:32 +01:00
Daniel Marjamäki 2e707974d0 Fixed #1273 (scope of variable limited not detected in latest versions) 2010-01-21 18:50:56 +01:00
Robert Reif 9f0b9551cf This patch simplifies the function pointer return type code and allows more complex return types. 2010-01-21 18:01:09 +01:00
Robert Reif e9e64033e7 Improved typedef simplification of function pointers 2010-01-21 07:51:08 +01:00
Daniel Marjamäki a6e81c2ee7 Fixed #1293 (Things to add to call_func_white_list) 2010-01-20 22:03:06 +01:00
Daniel Marjamäki 3447030564 Merge branch 'master' of git@github.com:danmar/cppcheck 2010-01-20 21:19:32 +01:00
Daniel Marjamäki 96359b14ff Simplify function pointers 2010-01-20 21:19:06 +01:00
Robert Reif e163f878ab Handle/simplify function pointer typedefs 2010-01-20 21:16:40 +01:00
Reijo Tomperi b83d257852 Fix #1296 (false positive: index out of bounds)
http://sourceforge.net/apps/trac/cppcheck/ticket/1296
2010-01-20 21:26:54 +02:00
Daniel Marjamäki 85fcd4c9a9 Fixed #1282 (False positive for a memory leak in a simple loop) 2010-01-19 19:08:03 +01:00
Daniel Marjamäki f49cc7f0ff CheckMemoryLeak: Added 'scanf' and 'sscanf' to the whitelist 2010-01-18 21:58:27 +01:00
Daniel Marjamäki 32604dd55e Fixed #1266 ('qsort' missing in call_func_white_list) 2010-01-18 21:34:11 +01:00
Daniel Marjamäki 53d036fadf Added Cppcheck::terminate function that will terminate the checking ASAP 2010-01-18 20:23:50 +01:00
Robert Reif cd31cd9298 Fixed #1251 (tokenize typedef of reference) 2010-01-18 19:06:50 +01:00
Daniel Marjamäki fbf428550a Fixed #1262 (cppcheck false positives: 'Possible null pointer dereference', 'Uninitialized variable') 2010-01-17 19:08:45 +01:00
Daniel Marjamäki f3e25a5244 Fixed doxygen error messages 2010-01-17 16:38:28 +01:00
Daniel Marjamäki 25bf50755e Reformatting the --doc output to work better in the wiki 2010-01-17 14:56:56 +01:00
Daniel Marjamäki 5595a17e41 Updated version to 1.40 2010-01-17 13:52:28 +01:00
Robert Reif 70dbb8ba17 Fixed #1275 (Cppcheck hangs when analysing the code 'typedef struct { } A, *B, **C;') 2010-01-17 08:16:17 +01:00
Daniel Marjamäki fbefb8df34 Fixed #1272 (links in typedef not handled correctly) 2010-01-16 19:42:37 +01:00
Daniel Marjamäki 0a8ca1f160 Fixed #1271 (SIGSEGV on malformed source (macro stub + fundef)) 2010-01-16 13:56:57 +01:00
Robert Reif a0caea4ee6 Refactoring the handling of typedefs 2010-01-16 09:18:21 +01:00
Daniel Marjamäki 81ca6e9f98 Revert "minor tweak in Borland C++ project file"
This reverts commit ad06ee4f71.
2010-01-16 08:47:46 +01:00
Daniel Marjamäki ad06ee4f71 minor tweak in Borland C++ project file 2010-01-16 08:17:40 +01:00
Reijo Tomperi d37864f8c4 Fix part of #1262 (cppcheck false positives: 'Possible null pointer dereference'
http://sourceforge.net/apps/trac/cppcheck/ticket/1262
2010-01-15 23:46:47 +02:00
Daniel Marjamäki f591d8f8e1 refactoring 2010-01-14 22:04:58 +01:00
Daniel Marjamäki 7059dd5693 astyle formatting 2010-01-14 22:01:59 +01:00
Daniel Marjamäki b9f09679c7 lanurmi: Fixed #1269 (Changes required for compiling with Sun's compiler) 2010-01-14 22:00:14 +01:00
Daniel Marjamäki ac077d3160 Fixed #1264 (False positive: Resource leak with if-else in while) 2010-01-14 21:41:50 +01:00
Daniel Marjamäki a7bddc8fd3 Fixed #1268 (Null pointer dereference false positive) 2010-01-14 20:02:38 +01:00
Daniel Marjamäki bc5800004b wrote comments about the preprocessor 2010-01-13 21:50:44 +01:00
Daniel Marjamäki cefa695dba Fixed #1265 ((error) Uninitialized variable on macro expansion) 2010-01-13 19:37:55 +01:00
Robert Reif 0212225859 Tokenizer: fixed typedef issues 2010-01-13 07:59:47 +01:00
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