Commit Graph

1177 Commits

Author SHA1 Message Date
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
Daniel Marjamäki cd4e355f17 Fixed #1052 (Internal error for 'int vals[] = { 0x13, 1?0x01:0x00 };') 2009-12-06 10:58:27 +01:00
Daniel Marjamäki 75f6e20e61 Fixed #1050 (Internal error: In tokenizer for: 'do { sizeof 1; } while (0);') 2009-12-06 08:46:59 +01:00
Daniel Marjamäki da4d03f6c4 Fixed #1048 (False positive: exceptNew error with nothrow) 2009-12-05 22:05:59 +01:00
Reijo Tomperi 5a40a8c2dd CRLF -> LF fix 2009-12-05 22:17:58 +02:00
Daniel Marjamäki e9b342c56b Fixed #1046 (tokenizer: internal error for 'discard_block< (1 << 24), 10, 24 > u, v;') 2009-12-05 21:15:14 +01:00
Daniel Marjamäki 0b09c36851 Fixed #1026 (false positive: buffer access out of bounds) 2009-12-05 11:41:30 +01:00
Daniel Marjamäki 84a6fe6b54 Fixed #1034 (change --enable to --enable=all) 2009-12-04 19:35:58 +01:00
Reijo Tomperi 54629ff221 Fix #1037 (tokenizing a nested do while, while loop fails)
http://sourceforge.net/apps/trac/cppcheck/ticket/1037
2009-12-04 00:06:03 +02:00
Daniel Marjamäki 48bb1fdc83 Eric Sesterhenn: Fixed #1032 (False positive resource leak with exit at end of function) 2009-12-03 19:19:20 +01:00
Daniel Marjamäki 96268b4caf Fixed #1030 (wrong line number with goto) 2009-12-02 19:47:35 +01:00
Reijo Tomperi f5c81429cb Refactoring: Parse --enable values in Settings class 2009-11-30 23:48:58 +02:00
Daniel Marjamäki 153a13272c ericsesterhenn: Fix #1028 (False positive resource leak) 2009-11-30 16:45:19 +01:00
Daniel Marjamäki ded2e68c2e Fix #1022 (False positive: uninitialized variable when using local struct) 2009-11-29 19:23:31 +01:00
Daniel Marjamäki e6b5fe99f6 Fixed #1027 (Internal error: sizeof a++) 2009-11-29 17:25:35 +01:00
Daniel Marjamäki e7d7507c65 Fixed #1020 (lib/tokenize.cpp:4615: bool Tokenizer::validate() const: Assertion 0 failed) 2009-11-29 12:14:42 +01:00
Daniel Marjamäki a57af3b3e9 use checked STL in debugmode 2009-11-28 18:29:32 +01:00
Martin Ettl 03e7914c98 partial fix of ticket #997; added check for write() two testcases 2009-11-28 13:41:24 +01:00
Daniel Marjamäki f75c9619d1 Fixed #1021 (Out-of-bounds access false positive) 2009-11-28 12:51:23 +01:00
Reijo Tomperi 2c51542cf1 Fix #1018 (strcat(strcat()) causes assertion in Tokenizer::validate)
Test case provided by povaddict
http://sourceforge.net/apps/trac/cppcheck/ticket/1018
2009-11-27 23:21:13 +02:00
Daniel Marjamäki c94ecfe1a3 Fixed #1015 (SIGABRT: Tokenizer::validate for openttd/src/ai/ai_config.cpp) 2009-11-27 17:32:53 +01:00
Daniel Marjamäki 7616246597 Fixed #1014 (Preprocessor: Invalid preprocessing of '#define some_delete(x) delete x;') 2009-11-26 17:32:18 +01:00
Reijo Tomperi 12a87fa3a4 Fix #1007 (False positive array index out of bounds concerning a switch statement in a for loop)
Bailout if switch is found in for loop.
http://sourceforge.net/apps/trac/cppcheck/ticket/1007
2009-11-25 22:40:51 +02:00
Daniel Marjamäki 128b2b8c59 Fixed #989 (CppCheck crashes on Win XP when scanning large directories/subdirectories) 2009-11-23 18:59:50 +01:00
Daniel Marjamäki 9b397afeca Temporary fix for #994 (cppcheck cannot check my sources with segfaulting) 2009-11-22 13:38:45 +01:00
Daniel Marjamäki 7f6f41fd53 Fixed #993 (Latest Git drop aborts at 63% of wine tree) 2009-11-22 09:06:39 +01:00
Daniel Marjamäki 092f64b77a Fixed #982 (Preprocessor: detects and remove conditions which always true) 2009-11-21 19:53:07 +01:00
Reijo Tomperi 9bdf4502ed Fix #995 (false positive: buffer access out of bounds when using fgets)
http://sourceforge.net/apps/trac/cppcheck/ticket/995
2009-11-21 15:45:52 +02:00
Reijo Tomperi 6417704577 Fix #985 (Detect buffer overrun with read())
http://sourceforge.net/apps/trac/cppcheck/ticket/985
2009-11-20 23:47:06 +02:00
Daniel Marjamäki 531d0fa685 Fixed #965 (Division by zero false positive with nested macros) 2009-11-20 20:42:28 +01:00
Slava Semushin 41b2a52915 Fixed #990 (Tokenizer::simplifyIfAddBraces() handle case where statement after if doesn't end by semicolon)
http://sourceforge.net/apps/trac/cppcheck/ticket/990
2009-11-21 01:40:46 +06:00
Daniel Marjamäki 91f7c15c24 Fixed #960 (Tokenizer::validate() assertion failure with mismatched brackets) 2009-11-20 20:10:42 +01:00
Daniel Marjamäki 7890589693 Fixed #912 (### Unlogged error at Tokenizer::syntaxError: Invalid number of character (()) 2009-11-20 19:18:57 +01:00
Slava Semushin 5369965e55 Fixed #983 (Tokenizer::simplifyTypedef() incorrectly substitute type inside namespace)
http://sourceforge.net/apps/trac/cppcheck/ticket/983
2009-11-20 00:02:16 +06:00
Reijo Tomperi 7ddc4f4e02 Fix #971 (Preprocessor: Handle partial macro in macro)
http://sourceforge.net/apps/trac/cppcheck/ticket/971
2009-11-19 00:34:00 +02:00
Daniel Marjamäki 42ffea4f16 Fixed #968 (False positive when TEMP_FAILURE_RETRY used) 2009-11-18 17:17:37 +01:00
Reijo Tomperi 8f07e2711c Added a few TODO test cases for #971 (Invalid number of characters (())
http://sourceforge.net/apps/trac/cppcheck/ticket/971
2009-11-18 00:21:21 +02:00
Reijo Tomperi bd2ca8babd astyle fix 2009-11-17 22:15:25 +02:00
Daniel Marjamäki a3a3ff4349 fixed testcase so it's valid syntax 2009-11-17 19:06:53 +01:00
Slava Semushin 42c5025000 Fixed #970 (Tokenizer: Incorrect comparison order simplification)
Revert changes from 11cb7b4710 commit
for lib/tokenize.cpp (fixed it by another way).

Teach unsignedint() to expand "unsigned" in casts.

http://sourceforge.net/apps/trac/cppcheck/ticket/970
2009-11-18 00:05:18 +06:00
Daniel Marjamäki d866c174cf Fixed 2009-11-15 20:26:07 +01:00
Daniel Marjamäki 469a8e4032 Fixed #925 (uninitialized deletion not detected) 2009-11-15 20:01:57 +01:00
Reijo Tomperi 9275b49688 Fix #964 (Integer division by zero exception)
http://sourceforge.net/apps/trac/cppcheck/ticket/964
2009-11-15 17:44:30 +02:00
Daniel Marjamäki 2b1b7f78f5 Fixed #883 (Add new command line argument --enable) 2009-11-15 15:24:33 +01:00
Slava Semushin 6669a50634 Fixed #842 (out of bounds: when buffer is allocated with malloc)
http://sourceforge.net/apps/trac/cppcheck/ticket/842
2009-11-15 18:38:57 +06:00
Slava Semushin 3911dd79cb Fixed #900 (Improve out-of-bounds check to detect error with "new char(x)")
http://sourceforge.net/apps/trac/cppcheck/ticket/900
2009-11-15 18:04:17 +06:00
Daniel Marjamäki 822f64ec9a Fixed #953 (false positive: 'uninitialized variable' with function pointer) 2009-11-15 12:42:04 +01:00
Daniel Marjamäki b5cbc509f3 Fixed #483 (False positive: found leak when foreach for lists used) 2009-11-15 10:30:00 +01:00
Daniel Marjamäki 14fd0154d2 memory leaks: simple code cleanup 2009-11-15 09:53:38 +01:00
Daniel Marjamäki 5dd7b054f9 Fixed #915 (false positive: memory leak for struct member (allocated in condition) 2009-11-15 09:28:08 +01:00
Daniel Marjamäki ebf907cbc0 Fixed #936 (false positive: uninitialized variable '.. else return; .. ') 2009-11-14 20:37:54 +01:00
Slava Semushin 11cb7b4710 Fixed #961 (Tokenizer: call simplifyCasts() before removing "unsigned" keyword)
http://sourceforge.net/apps/trac/cppcheck/ticket/961
2009-11-14 17:01:59 +06:00
Daniel Marjamäki fee96f3cd6 Fixed #944 (new false positives against Wine Git Tree) 2009-11-14 09:06:28 +01:00
Daniel Marjamäki ec6d66ff45 Fixed #913 (false positive: uninitialized variable) 2009-11-14 08:00:17 +01:00
Daniel Marjamäki a36c410d45 Preprocessor: When #error is encountered the result is an empty string => don't check configuration 2009-11-13 22:12:29 +01:00
Daniel Marjamäki 1187587521 Fixed #919 (possible memory leak not detected) 2009-11-13 20:22:28 +01:00
Slava Semushin 2ec5438186 Fixed #954 (Tokenizer: correctly simplify sizeof of class members)
http://sourceforge.net/apps/trac/cppcheck/ticket/954
2009-11-14 01:07:44 +06:00
Reijo Tomperi c4244ac9e8 Fix #945 (Array index out of bounds not detected, because of "int const")
http://sourceforge.net/apps/trac/cppcheck/ticket/945
2009-11-12 23:49:39 +02:00
Reijo Tomperi 3d5760b149 Fix #947 (Errors not detected when size_t is used instead of int)
http://sourceforge.net/apps/trac/cppcheck/ticket/947
2009-11-12 23:31:13 +02:00
Reijo Tomperi 0518eed937 Fix #946 (False positive: Buffer access out-of-bounds)
http://sourceforge.net/apps/trac/cppcheck/ticket/946
2009-11-12 23:24:44 +02:00
Daniel Marjamäki b2cec721c0 Fixed #951 (Preincremented struct member confused with numeric constant) 2009-11-12 22:16:24 +01:00
Reijo Tomperi d2db4d3a27 Test case for #903 (segmentation fault of cppcheck)
http://sourceforge.net/apps/trac/cppcheck/ticket/903
2009-11-12 21:04:11 +02:00
Daniel Marjamäki c337b4eb33 Fixed #950 (Bug in cppcheck tokenize.cpp) 2009-11-12 18:53:26 +01:00
Daniel Marjamäki 39614a699e Uninitialized variables: detect uninitialized pointer array 2009-11-10 19:35:54 +01:00
Daniel Marjamäki c301dc1907 Fixed #928 (false positive: member variable not initialized in constructor) 2009-11-10 19:30:37 +01:00
Daniel Marjamäki b470ea06b8 Fixed #931 (Invalid interator false positive with identical variable names) 2009-11-10 19:07:04 +01:00
Daniel Marjamäki e0b1303b50 Fixed #929 (Uninitialized variable false positive) 2009-11-10 18:05:55 +01:00
Daniel Marjamäki 51f983629b Fixed #932 (false positive: Dereferenced iterator 'i' has been erased) 2009-11-10 17:20:20 +01:00
Daniel Marjamäki d85fb9dd3d unit testing: minor syntax updates 2009-11-09 20:40:30 +01:00
Daniel Marjamäki 1fe94d74b8 unit testing: minor syntax fixes 2009-11-09 20:34:36 +01:00
Daniel Marjamäki 41e59d8348 Fixed #832 (Exception Safety: deallocating member pointer and then throwing exception) 2009-11-08 09:54:08 +01:00
Daniel Marjamäki 4b04ed9ad9 Fixed #910 (false positive: uninitialized variable for array) 2009-11-08 07:31:01 +01:00
Daniel Marjamäki 52eb32eb5b testbufferoverrun.cpp: fixed unit test error 2009-11-07 19:59:03 +01:00
Daniel Marjamäki 3b9b3b241e testbufferoverrun.cpp: minor updates to make it work better as extracted code 2009-11-07 19:51:18 +01:00
Daniel Marjamäki 3bd36226d6 testbufferoverrun: minor updates to make the code more easily compilable 2009-11-07 18:03:33 +01:00
Daniel Marjamäki d88c236efe uninitialized data: minor fix to handle 'new char [' better 2009-11-07 14:54:12 +01:00
Daniel Marjamäki 60caefe069 uninitialized data: added more checking for allocated data 2009-11-07 09:10:15 +01:00
Daniel Marjamäki 0c8d327809 Fixed #907 (Tokenizer: known result of strlen) 2009-11-07 08:25:39 +01:00
Reijo Tomperi b222ef89be Fix #903 (false positive: buffer access out of bounds)
http://sourceforge.net/apps/trac/cppcheck/ticket/903
2009-11-07 00:58:33 +02:00
Daniel Marjamäki 77b676937d cleanup in testbufferoverrun.cpp 2009-11-06 19:15:59 +01:00