Commit Graph

1556 Commits

Author SHA1 Message Date
Robert Reif f4d600e93b Fixed #1457 (PATCH: Variable hides enumerator with same name false negative) 2010-02-26 21:40:57 +01:00
Reijo Tomperi b35acc1e6b Add TODO test case for #1444 (inline suppression suppress all errors of the same type in a function)
http://sourceforge.net/apps/trac/cppcheck/ticket/1444
2010-02-25 22:55:09 +02:00
Reijo Tomperi 13f8e10c40 Add TODO test cases for #1454 (False positive: arrayindexoutofbounds, static member sharing local name)
http://sourceforge.net/apps/trac/cppcheck/ticket/1454
2010-02-25 22:02:12 +02:00
Reijo Tomperi 23407c7f1d Cleanup test/testtokenize.cpp a bit by putting duplicate code into a function. 2010-02-25 22:00:39 +02:00
Daniel Marjamäki 377d3091a9 Fixed #1452 (Simplify goto better) 2010-02-25 20:03:39 +01:00
Robert Reif 0da133f8a0 Fixed #1451 (false positive: operator = should return reference to self) 2010-02-25 07:26:59 +01:00
Robert Reif f9d444ed52 Fixed #1445 (segfault in Tokenizer::simplifyRedundantParanthesis()) 2010-02-25 07:24:32 +01:00
Reijo Tomperi 01c5bdfc68 Add TODO test case for #1452 (Simplify goto better)
http://sourceforge.net/apps/trac/cppcheck/ticket/1452
2010-02-24 22:55:16 +02:00
Robert Reif 7d8adfb4df Fixed #1449 (segmentation fault of cppcheck) 2010-02-24 17:50:02 +01:00
Robert Reif d9df3d5c6e Fixed #1434 (### Internal error in Cppcheck. Please report it.) 2010-02-23 22:12:55 +01:00
Daniel Marjamäki 40bb5144e1 removed some more cmake files 2010-02-23 20:12:53 +01:00
Daniel Marjamäki 0b2ad2164f Fixed #1442 (false positive: getting offset instead of dereferencing a null pointer) 2010-02-22 21:30:21 +01:00
Daniel Marjamäki 8f4edb5e45 Fixed #1409 (False positive: Buffer access out-of-bounds with strncpy and an array in typedef'ed struct) 2010-02-21 15:23:50 +01:00
Daniel Marjamäki d5611a1a06 Fixed #1426 (false positive: returning LPVOID can be const) 2010-02-21 10:19:28 +01:00
Daniel Marjamäki 459a3bac50 Fixed #1396 (false positive: Resource leak) 2010-02-21 09:47:41 +01:00
Daniel Marjamäki 7a72932078 Tokenizer: simple simplification of array sizes 2010-02-20 18:13:09 +01:00
Daniel Marjamäki e4cc8cf1a0 Fixed #1395 (false positive: Possible null pointer dereference) 2010-02-20 15:50:44 +01:00
Daniel Marjamäki ccef1d6eb5 Fixed #1424 (false positive: unintialized variable) 2010-02-20 13:24:50 +01:00
Daniel Marjamäki 084b21494a Fixed #1422 (false positive: uninitialized variable) 2010-02-20 11:43:53 +01:00
Daniel Marjamäki a6c9a6fc54 Fixed #1407 (false positive memory leak when returning pointer to the allocated memory) 2010-02-20 10:17:45 +01:00
Daniel Marjamäki d0348fa57a Fixed #1403 (false positive: The function can be const) 2010-02-20 09:55:51 +01:00
Daniel Marjamäki 6a03fa604c Fixed #1402 (false positive: uninitialized variable) 2010-02-20 09:35:57 +01:00
Robert Reif 24628013f1 Fixed #1427 (new check: check for typedef name hiding) 2010-02-20 09:07:29 +01:00
Daniel Marjamäki 5e90945486 renamed gui/test.cpp to test/test.cxx 2010-02-19 07:21:16 +01:00
Daniel Marjamäki 375d2b1fcd astyle formatting 2010-02-18 19:55:47 +01:00
Daniel Marjamäki b59d79c303 readded checks for unused variables and unreachable code that were removed in 42c608b6f0 2010-02-18 18:45:13 +01:00
Robert Reif 5c6ec0364d Fixed #1411 (### Internal error in Cppcheck. Please report it.) 2010-02-18 07:24:24 +01:00
Robert Reif 9e61e7dda8 Fixed #1405 (false positive: operator = should return reference t 2010-02-17 22:46:03 +01:00
Robert Reif deb71fc566 Fixed #1405 (false positive: operator = should return reference to itself) 2010-02-17 22:42:08 +01:00
Daniel Marjamäki db2c362604 Fixed #1389 (false positive: uninitialized variable) 2010-02-17 18:10:50 +01:00
Robert Reif f15c408f13 Fixed #1388 (enum token/template parameter confusion - False positive) 2010-02-16 07:33:23 +01:00
Reijo Tomperi e44f0b1b8d Fix #1392 (Segfault in CheckBufferOverrun::checkScope)
http://sourceforge.net/apps/trac/cppcheck/ticket/1392
2010-02-15 23:20:09 +02:00
Monika Lukow e9e5174797 Fixed #1333 (Detect access out of bounds 'for (i = 100; i > 0; --i) a[i] = 0;') 2010-02-14 23:10:15 +01:00
Reijo Tomperi b52fa9451f Fix #1385 (False positive: unsigned division)
http://sourceforge.net/apps/trac/cppcheck/ticket/1385
This also fixes a bug in setVarId(). "unsigned int a" didn't get varid,
untill later when unsigned was simplified away.
2010-02-12 22:24:06 +02:00
Daniel Marjamäki 669fe1b23d Fixed #1382 (False positive: uninitialized variable when using assembly to initialize variable) 2010-02-12 18:15:15 +01:00
Reijo Tomperi 2a78637da7 Fix #1340 (False positive: Array out of bounds for re-initialised array pointer)
http://sourceforge.net/apps/trac/cppcheck/ticket/1340
2010-02-10 23:11:08 +02:00
Daniel Marjamäki 0a6aa0f094 Fixed #1376 (Member variable not initialized in the constructor false positive) 2010-02-10 19:28:51 +01:00
Reijo Tomperi faced1b483 Possibly fix #1369 (Internal error - double-declared enum followed by another enum)
http://sourceforge.net/apps/trac/cppcheck/ticket/1369
Don't include same file twice if one is a/a.h and other is a/../a/a.h
2010-02-09 22:26:15 +02:00
Daniel Marjamäki 18e7813e04 Fixed #1373 (###### If you see this, there is a bug ######) 2010-02-09 18:11:06 +01:00
Reijo Tomperi 45abd2d7fc Fix #1366 (void Tokenizer::simplifyTemplates() --> Abort)
http://sourceforge.net/apps/trac/cppcheck/ticket/1366
2010-02-09 00:16:12 +02:00
Daniel Marjamäki 8853f304af Fixed #1364 (False positive: (error) Possible null pointer dereference) 2010-02-08 18:25:08 +01:00
Reijo Tomperi 7e2e20c2d3 astyle fix 2010-02-08 09:35:53 +02:00
Robert Reif 9591e09dd0 Fixed #1344 (false negative: missing const not found) 2010-02-08 07:25:19 +01:00
Monika Lukow 2d5d060514 Fixed #1094 (Improve check: unusual pointer arithmetic: 'ch+str') 2010-02-07 21:44:11 +01:00
Daniel Marjamäki cd5b95849d Fixed #1361 (### Internal error in Cppcheck. Please report it) 2010-02-07 15:00:19 +01:00
Daniel Marjamäki fb09b2fd37 Fixed #1356 (Double-False positive: uninitialized variable) 2010-02-07 13:34:39 +01:00
Daniel Marjamäki 1b0c81a24b Tokenizer: Fixed bug in setVarId. functions should never have a variable id 2010-02-07 13:04:33 +01:00
Daniel Marjamäki ed8f3bc806 Fixed #1362 (Internal error when using ?-operator and nested {}) 2010-02-07 09:14:59 +01:00
Daniel Marjamäki e1b54df368 Fixed #1346 (False positive: Memory leak when allocated memory is stored elsewhere inside a condition) 2010-02-06 22:35:36 +01:00
Daniel Marjamäki 71117378ef Fixed #1363 (false positive: memory leak) 2010-02-06 21:47:52 +01:00
Daniel Marjamäki 0a31e5e3ee Fixed #1352 (false positive: uninitialized variable) 2010-02-06 16:51:32 +01:00
Robert Reif b78845174d Fixed #1355 (Fixed enum bug when expression contain comma) 2010-02-06 09:49:56 +01:00
Daniel Marjamäki cbc853fdba Partial fix for #322 (get configurations from headers that don't start at the beginning of the file) 2010-02-06 09:30:48 +01:00
Reijo Tomperi fb81100bec Minor fix to previous commit 2010-02-06 00:30:47 +02:00
Reijo Tomperi 35f778716a Test case for #1356 (Double-False positive: uninitialized variable) 2010-02-06 00:24:57 +02:00
Reijo Tomperi 9852ab86e9 Fix #1358 (False negative: out-of-bounds not found near return)
http://sourceforge.net/apps/trac/cppcheck/ticket/1358
2010-02-05 23:55:10 +02:00
Daniel Marjamäki 0d18050b55 Fixed #984 (improve output if strncpy is followed by strncat) 2010-02-05 17:35:18 +01:00
Robert Reif 6cbfc5f894 Fixed #1351 (add expression support to simplifyEnum) 2010-02-05 07:37:17 +01:00
Daniel Marjamäki 9e6ea07c14 CheckClass::noMemset: Refactoring so it handles more complex std template types 2010-02-04 21:49:58 +01:00
Daniel Marjamäki da7e75f69e Class checking: Minor refactoring when analysing memset on class 2010-02-04 20:53:04 +01:00
Daniel Marjamäki 9943262da0 Fixed #1287 (Use of memset on struct - std template types not handled) 2010-02-04 19:40:35 +01:00
Daniel Marjamäki 0ba665d77f Fixed #1337 (Division by zero with __alignof__()) 2010-02-03 21:23:44 +01:00
Daniel Marjamäki d3b5889f88 Fixed #1345 (Not initialised variables warning missing in classes with dllexport) 2010-02-03 20:01:56 +01:00
Daniel Marjamäki b01af012cd Fixed #1342 (Superclass constructors in initializer lists are considered unused functions when superclass has a namespace.) 2010-02-03 18:37:48 +01:00
Robert Reif f2eac901c0 Fixed #1343 (simplifyTypedef doesn't support deeply nested classes) 2010-02-03 07:58:36 +01:00
Daniel Marjamäki 4ec94116f5 Fixed #1341 (false positive 'uninitialized variable' when using Exception specifications) 2010-02-02 19:56:41 +01:00
Robert Reif b704fc7bc7 Fixed #1339 (add nested struct support to simplifyEnum and simplifyTypedef) 2010-02-01 19:59:24 +01:00
Daniel Marjamäki 1b9afc82a4 Reverted 4f30468c80. There was false positives such as #1335 so please fix them and then re-commit. 2010-02-01 19:46:51 +01:00
Kimmo Varis 6f47f77977 CMake - fix building tests for Visual Studio.
Need to include lib sources directly to test project also.
2010-02-01 20:16:30 +02:00
Robert Reif 64afcc8179 Fixed #1338 (simplify typedefs with global and nested namespace) 2010-01-31 21:46:18 +01:00
Reijo Tomperi db2aff03c7 Added test case for #1333 (Detect access out of bounds 'for (i = 100; i > 0; --i) a[i] = 0;')
http://sourceforge.net/apps/trac/cppcheck/ticket/1333
2010-01-31 22:02:26 +02:00
Daniel Marjamäki 1375a60e3f Fixed #1004 (improve check: Unintialized variable not detected when using a reference (&)) 2010-01-31 16:29:12 +01:00
Monika Lukow 4f30468c80 Fixed #1094 (Improve check: unusual pointer arithmetic: 'ch+str') 2010-01-31 11:42:02 +01:00
Daniel Marjamäki 1a59e1bc68 Tokenizer: remove redundant assignments and variables 2010-01-31 09:52:19 +01:00
Daniel Marjamäki e15a16eb15 Tokenizer: Remove redundant assignments and variables 2010-01-31 09:33:57 +01:00
Daniel Marjamäki e1efad0c27 Tokenizer: remove the keyword 'inline' 2010-01-31 08:11:29 +01:00
Robert Reif d17d199415 Tokenizer: fix for multiple array definitions for a single typedef 2010-01-31 07:16:19 +01:00
Robert Reif 7cbdb9f8a1 Fixed #1331 (simplify typedef of complex arrays) 2010-01-30 19:41:22 +01:00
Daniel Marjamäki 48f3921c36 Null pointer dereference: sending to output stream 2010-01-30 14:40:33 +01:00
Daniel Marjamäki 8716c771a4 Tokenizer: improved the simplifyInitVar 2010-01-30 14:25:11 +01:00
Daniel Marjamäki 3b08712930 Fixed #1005 (improve check: nullpointer dereference not found when it is initialized with NULL-cast) 2010-01-30 09:33:16 +01:00
Robert Reif 882e2225e0 Fixed 1329 (simplify typedef of function pointer returning template) 2010-01-30 08:00:11 +01:00
Daniel Marjamäki f9d5fb3191 Fixed #1327 (False positive: Redundant code: Found a statement that begins with numeric constant) 2010-01-29 22:28:49 +01:00
Reijo Tomperi 1d5ba4e320 Improved updateClassList(), but not yet took it into use.
findClassFunction is now non-static.
updateClassList usage is currently commented out as it doesn't handle class inside a function
2010-01-29 23:22:18 +02:00
Daniel Marjamäki f561441d90 Fixed #1319 (false negative: missing const not found) 2010-01-29 19:38:56 +01:00
Daniel Marjamäki 53f514fc5c Tokenizer: Fixed const simplification 2010-01-29 19:34:43 +01:00
Robert Reif c6263b51b5 Fixed #1324 (show number of tests that don't produce the desired results) 2010-01-29 18:49:07 +01:00
Robert Reif 94c5d92b2b Fixed #1323 (segfault with style in CheckClass::operatorEqRetRefThis()) 2010-01-29 16:04:27 +01:00
Robert Reif fc54ed1eef Fixed #1326 (remove simplified enum definitions) 2010-01-29 15:57:26 +01:00
Daniel Marjamäki 9d11492845 Fixed #1286 (Memory leak not detected) 2010-01-27 22:05:04 +01:00
Daniel Marjamäki e49f7bfa0e Fixed #1315 (mismatched allocation and deallocaton not detected) 2010-01-27 21:02:13 +01:00
Daniel Marjamäki 1c84dc814c Auto variables: Improved handling of temporaries 2010-01-27 19:16:32 +01:00
Robert Reif 45b6b9e5a1 Fixed #1316 (### Internal error in Cppcheck. Please report it.) 2010-01-27 19:03:24 +01:00
Daniel Marjamäki 32fcb8fe18 Auto variables: returning pointer to temporary .c_str() data 2010-01-26 22:11:34 +01:00
Daniel Marjamäki fa305d70bc Fixed #1302 (False positive: Confusion between POSIX open() and class member) 2010-01-26 20:10:52 +01:00
Daniel Marjamäki db0466eb19 Fixed #1278 (Confusing style message formatting) 2010-01-26 19:37:22 +01:00
Daniel Marjamäki e12d115e9a Fixed #1312 (false positive: missing const message on functions returning references) 2010-01-25 21:40:57 +01:00
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 019f775aa5 TestOther::uninitvar1: refactoring. splitting up this function into multiple functions 2010-01-24 15:23:21 +01:00
Daniel Marjamäki b4b97e5706 const: fixed false positive when using increment/decrement 2010-01-24 13:33:30 +01: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 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
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 3aa67cd537 Added TODO test for better pointer aliasing with memset 2010-01-17 08:43:10 +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
Robert Reif a0caea4ee6 Refactoring the handling of typedefs 2010-01-16 09:18:21 +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 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 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 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
Reijo Tomperi 913ede45aa Get rid of casting in test file.
http://sourceforge.net/apps/trac/cppcheck/ticket/1242
2010-01-12 21:24:44 +02: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 1c69d54fb3 ivoire: 64-bit portability fix 2010-01-10 17:30:35 +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 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 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
Robert Reif e6cc897e29 Fixed #1224 (segmentation fault of cppcheck) 2010-01-05 21:55:33 +01:00
Kimmo Varis a753c41ced CMake - Include test project's header file to VS IDE project. 2010-01-05 22:16:53 +02:00
Robert Reif 13f627d0d5 Fixed #1215 (are enums processed properly?) 2010-01-04 17:22:06 +01: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 e6d5c76138 refactoring 2010-01-03 15:52:52 +01:00
Daniel Marjamäki 79223b71d5 added test case for #1193 (false negative: array out of bounds in loop when there is calculation) 2010-01-03 15:49:17 +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 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
Daniel Marjamäki 774e331dea Self assignment in class: added TODO test cases to reduce false positives 2009-12-31 14:03:35 +01:00
Robert Reif 12641e2d76 Fixed #1184 (improve test: operator =) 2009-12-31 13:44:03 +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 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 cfdf2b8cfe Fixed #1160 (Null pointer dereference vs. goto) 2009-12-29 09:17:07 +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 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 9aca2e7680 Fixed #1156 ([False positive] Uninitialized variable - class member in constructor) 2009-12-28 12:51:28 +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 f06adb18cd added further testcases to testmathlib::isint() 2009-12-27 14:46:47 +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 fbfe5a4bd1 Fixed #1153 (False positive: uninitialized data for reinterpret_cast) 2009-12-27 09:27:05 +01:00
Daniel Marjamäki afad0205c4 Fixed #1120 (Test compile warnings with Cygwin) 2009-12-26 17:49: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 9819b75e17 ExecutionPath: Refactoring if-handling 2009-12-25 20:50:23 +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 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 fe74c65c89 Robert Reif: code cleanup 2009-12-23 12:17:48 +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 aaf908bd5e astyle formatting 2009-12-22 19:18:02 +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 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
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
Kimmo Varis eb8c6aec55 CMake - add 'make check' -target.
Tests are now excluded from normal targets to make compiling
faster. 'make check' -target will compile and run tests.
2009-12-20 11:16:56 +02:00
Kimmo Varis 9e2a42ebf9 CMake - use more strict compiler flags. 2009-12-20 10:45:57 +02: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
Kimmo Varis 2fb6c21509 Merge branch 'master' of github.com:danmar/cppcheck 2009-12-19 16:55:15 +02: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
Kimmo Varis 41eb141e61 CMake - cleaner way to set additional library for Windows. 2009-12-19 16:21:46 +02: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 b3a055e20a Fixed #1101 (link error with latest git in Visual Studio) 2009-12-18 18:29:31 +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 d70c60b702 CMake - Fix Windows build. 2009-12-17 22:31:13 +02:00
Kimmo Varis 6e540e615d Add testsuite to CMake build files. 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 30f789a168 Fix #1076 (Invalid number of character ({). Can't process file.)
http://sourceforge.net/apps/trac/cppcheck/ticket/1076
2009-12-15 00:06:05 +02:00
Daniel Marjamäki 0c13f9ba5c Added TestLocalLeaks 2009-12-14 20:30:31 +01:00
Reijo Tomperi 42c2437f78 Test case for #1076 (Invalid number of character ({). Can't process file.) 2009-12-13 22:36:42 +02:00
Daniel Marjamäki 4dc8794c69 Fixed #1082 (False positive: Resource leak in loop which exits only after releasing resource) 2009-12-13 19:50:49 +01:00
Daniel Marjamäki 829a4f8453 Fixed #1084 (define configuration lost) 2009-12-13 17:18:27 +01:00
Daniel Marjamäki b4a454fc47 Fixed #1058 (Preprocessor: extracting configuration for '#if DEF == 1') 2009-12-13 15:23:44 +01:00
Daniel Marjamäki 01cfa3b6bd Fixed #1072 (False positive: class member initialization with '*p=0;') 2009-12-13 09:36:59 +01:00
Daniel Marjamäki bc808710a0 Fixed #1097 (Internal error: When macro is not expanded 'ABC(for (i=0;i<10;i++) ..);') 2009-12-12 19:58:19 +01:00
Daniel Marjamäki 1002457b17 Fixed #1074 (Exception safety: auto deallocated classes don't leak) 2009-12-12 18:56:26 +01:00
Daniel Marjamäki c6f913ac3e Preprocessor: Fixed TODO_ASSERT_EQUALS 2009-12-11 22:32:44 +01:00
Daniel Marjamäki 4d185f0935 Fixed #1080 (false positive: member variable not initialized) 2009-12-11 21:34:04 +01:00
Daniel Marjamäki 9646f62ec1 Fixed #1075 (False positive: uninitialized variable 'return bar(s);') 2009-12-11 19:58:29 +01:00
Daniel Marjamäki e52fb36c5c Fixed #1060 (Preprocessor: wrong define handling) 2009-12-11 19:28:37 +01:00
Daniel Marjamäki 91114c50d2 Fixed #1061 (false positve: uninitialized variable) 2009-12-09 20:05:06 +01:00
Daniel Marjamäki e2473314b5 Fixed #1024 (Preprocessor: doesn't expand macro in macro) 2009-12-09 19:14:07 +01:00
Daniel Marjamäki 418d93eafb Preprocessor: Refactoring the Preprocessor::expandMacros 2009-12-09 17:13:48 +01:00
Reijo Tomperi 87325799c5 Fix #1071 ((style) The function 'throw' is never used)
http://sourceforge.net/apps/trac/cppcheck/ticket/1071
2009-12-08 23:41:47 +02:00
Reijo Tomperi db30c5b0d2 Fix #1069 (Minor spelling mistake across cppcheck)
http://sourceforge.net/apps/trac/cppcheck/ticket/1069
2009-12-08 20:10:08 +02:00
Reijo Tomperi 798e07dee4 Added test case for else if simplification 2009-12-08 01:22:24 +02:00
Reijo Tomperi bd024b7a2d Fix #1065 (Internal error - incrementing single char in char array)
http://sourceforge.net/apps/trac/cppcheck/ticket/1065
2009-12-07 23:42:30 +02:00
Daniel Marjamäki e5c507dc02 Fixed #1063 (False positive: deallocated memory doesn't leak upon exception) 2009-12-07 19:23:33 +01:00
Reijo Tomperi f5849f9be2 Fix #1057 (Tokenizer: negative numbers are not tokenized correctly in switch-case)
http://sourceforge.net/apps/trac/cppcheck/ticket/1057
2009-12-07 00:09:56 +02:00
Daniel Marjamäki 3c063bfdb8 Preprocessor: Reverted refactoring 2009-12-06 20:10:10 +01:00
Daniel Marjamäki 046db9b2bb Preprocessor: Fix so the unit tests work again 2009-12-06 19:53:17 +01:00
Daniel Marjamäki 46b19e0184 Preprocessor: Refactoring to make it simpler 2009-12-06 19:17:59 +01:00
Daniel Marjamäki 2d180ab918 newcheck: added the 'newcheck' functionality. It's still in early state so it needs refactoring 2009-12-06 18:41:28 +01:00
Daniel Marjamäki c2a37c5d69 class checking: It's a 'possible style' error if a private constructor is not initializing a member variable 2009-12-06 18:35:32 +01:00