Commit Graph

623 Commits

Author SHA1 Message Date
Daniel Marjamäki 980a810995 STL if find: check given severity 2010-02-28 06:56:47 +01:00
Reijo Tomperi 88840e6a08 Fix #1453 (possible infinite loop processing GNU Go's engine/montecarlo.c)
http://sourceforge.net/apps/trac/cppcheck/ticket/1453
2010-02-27 23:47:56 +02:00
Daniel Marjamäki 4de700c9de STL: suspicious condition when using find on strings and containers 2010-02-27 21:26:11 +01:00
Daniel Marjamäki 50210857a6 Fixed #1439 (false positive: memory leak when using realloc) 2010-02-27 19:41:14 +01:00
Daniel Marjamäki c9ff53fbed Refactoring error messages 2010-02-27 17:06:33 +01:00
Daniel Marjamäki 0a2f631b14 Fixed #1448 (Trying to check Unicode file prints confusing error) 2010-02-27 13:08:59 +01:00
Daniel Marjamäki a8ee4a03f0 Fixed #1456 (PATCH: Variable hides typedef with same name false positive) 2010-02-27 07:27:51 +01:00
Daniel Marjamäki ce0131a1e6 Fixed #1397 (false positive: Memory leak in while loop) 2010-02-26 22:14:56 +01:00
Reijo Tomperi 9b6336013b Fix #1455 (Preprocessor: Wrong line number in "No pair for character" error)
http://sourceforge.net/apps/trac/cppcheck/ticket/1455
2010-02-26 23:11:23 +02:00
Robert Reif 54bf67e766 Fixed #1456 (PATCH: Variable hides typedef with same name false positive) 2010-02-26 21:43:00 +01:00
Robert Reif f4d600e93b Fixed #1457 (PATCH: Variable hides enumerator with same name false negative) 2010-02-26 21:40:57 +01:00
Kimmo Varis d064d38d35 Fix comment. 2010-02-26 13:21:27 +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
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 4ef68546ef Merge branch 'master' of git@github.com:danmar/cppcheck 2010-02-23 21:27:26 +01:00
Daniel Marjamäki 5254822bed dmake: generate the lib/lib.pri file 2010-02-23 21:27:01 +01:00
Reijo Tomperi edf76c77fa Attempt to fix: #1425: -I doesn't work properly in Windows
http://sourceforge.net/apps/trac/cppcheck/ticket/1425
2010-02-23 21:28:40 +02:00
Daniel Marjamäki 8e58cfcd32 Removed cmake/scons files 2010-02-23 18:14:33 +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 e4a685c6e9 Fixed #1430 (void foo(int nb)) 2010-02-21 08:02:44 +01:00
Daniel Marjamäki a25cdd63b6 Refactored the CheckOther::functionVariableUsage 2010-02-21 07:05:44 +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 57f63f65c2 Borland C++: Fixed compiler errors (operands must be same type) 2010-02-20 08:53:33 +01:00
Daniel Marjamäki 8411f449f8 Refactoring: Using string::compare instead of strncmp 2010-02-19 07:29:27 +01:00
Daniel Marjamäki 6b8cb08ec6 Refactoring CheckBufferOverrun. Use std::string instead of const char * 2010-02-18 22:25:29 +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 6643d39929 Remove unnecessary file open. 2010-02-14 21:55:21 +02:00
Reijo Tomperi 7f2871d353 astyle fix 2010-02-14 21:46:40 +02:00
Daniel Marjamäki 9394816fcf Refactoring: Use std::string instead of const char * 2010-02-14 19:58:17 +01:00
Reijo Tomperi ba00e031c0 Added %name% pattern to Token.
Currenly same as %var%, but in the future %var% is supposed to match only tokens that have varid != 0.
2010-02-12 23:40:05 +02:00
Reijo Tomperi 17b8d025a3 Fix operator= warning from our own code. 2010-02-12 22:38:17 +02: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
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
Daniel Marjamäki 19589adc1d Fixed #1360 (false positive:: uninitialized class member of nested class inside a function) 2010-02-08 18:06:28 +01: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 93bb1c0174 astyle formatting 2010-02-06 23:51:29 +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 ebf36c1150 Fixed #824 (Exit code of cppcheck) 2010-02-06 19:47:08 +01:00
Daniel Marjamäki bdfad4eb3f fixed null pointer dereference when using --errorlist 2010-02-06 19:45:56 +01:00
Daniel Marjamäki 0a31e5e3ee Fixed #1352 (false positive: uninitialized variable) 2010-02-06 16:51:32 +01:00
Daniel Marjamäki 70620b6f80 Borland C++: Fixed compiler error. When using 'a?b:c', Borland C++ requires that 'b' and 'c' has the same types 2010-02-06 10:39:16 +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 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
Robert Reif 64afcc8179 Fixed #1338 (simplify typedefs with global and nested namespace) 2010-01-31 21:46:18 +01: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 25822dff24 Fixed #1249 (false positive '(error) Resource leak: f' for 'popen' / 'if(pclose(f) < 0)' sequence) 2010-01-31 11:44:30 +01:00
Monika Lukow a0e96be0c3 Fixed #1274 (false positive: Dangerous usage of strncat) 2010-01-31 11:43:54 +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 630d9ba552 Fixed #1326 (remove simplified enum definitions) 2010-01-31 07:13:09 +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 6e48f57826 Remove debug print 2010-01-29 23:24:16 +02: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 94c5d92b2b Fixed #1323 (segfault with style in CheckClass::operatorEqRetRefThis()) 2010-01-29 16:04:27 +01:00
Robert Reif 19bb2940cc Fixed #1325 (Segmentation fault in simplifyTypedef due to bad preprocessing) 2010-01-29 16:00:48 +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 15b4abd6d3 killerbot: Fixed #1314 (specify the files to check in 1 input file) 2010-01-27 21:43:01 +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 7ec27cb43b updated --doc output about new checks in 1.40 2010-01-27 19:25:48 +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 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