Kimmo Varis
d1bbcf1734
Implement Win32 FileLister as separate class.
...
Improve the system used to have separate versions of code of FileLister for
Win32 and Linux. New idea is to have Base FileLister class implementing
common code and then derived classes for Win32 and Linux specific code.
FileLister is not anymore a static class. Instead we use singleton of
derived class.
2010-03-11 21:58:59 +02:00
Daniel Marjamäki
587081cab5
Fixed #1488 (Invalid warning about shadowed variable)
2010-03-10 16:47:39 +01:00
Daniel Marjamäki
770d2ff835
Simplify enum: Fixed segmentation fault if code ends with enum type id
2010-03-07 13:01:56 +01:00
Daniel Marjamäki
fa493b7fd1
Fixed #1474 (segmentation fault of cppcheck)
2010-03-07 12:50:45 +01:00
Reijo Tomperi
b88126a669
Fix #1469 (False positive: Resource leak when fclose() is inside while)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/1469
2010-03-06 16:28:52 +02:00
Daniel Marjamäki
fe30c1ca9d
Fixed #1432 (false positive: uninitialized variable)
2010-03-06 13:48:43 +01:00
Reijo Tomperi
237fdbc653
Fix #1454 (False positive: arrayindexoutofbounds, static member sharing local name)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/1454
2010-03-06 14:35:04 +02:00
Daniel Marjamäki
d643bbe864
simplify templates: show debug message when bailout out
2010-03-04 18:20:08 +01:00
Daniel Marjamäki
b55a7f2815
SimplifyTemplates: some simple refactoring so template name is properly seen. If it's not properly handled then bailout. Related with #1464
2010-03-04 17:34:14 +01:00
Reijo Tomperi
d881fd7a31
Partial fix #1464 (takes too long (days) to process some files)
...
Fix template functions that return "&T".
http://sourceforge.net/apps/trac/cppcheck/ticket/1464
2010-03-03 23:02:32 +02:00
Reijo Tomperi
75c0ed7e6e
Add simple debug print to make it possible to detect cases where template simplification goes wrong.
...
http://sourceforge.net/apps/trac/cppcheck/ticket/1464
2010-03-02 23:55:05 +02:00
Daniel Marjamäki
248b6aa159
cleanup: removed unused variables
2010-02-28 07:38:07 +01:00
Daniel Marjamäki
6ca4b008d0
null pointer: Fixed better error message for 'possible null pointer' + removed redundant check in our Tokenizer.
2010-02-28 07:26:50 +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
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
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
Daniel Marjamäki
377d3091a9
Fixed #1452 (Simplify goto better)
2010-02-25 20:03:39 +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
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
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
Robert Reif
5c6ec0364d
Fixed #1411 (### Internal error in Cppcheck. Please report it.)
2010-02-18 07:24:24 +01:00
Robert Reif
deb71fc566
Fixed #1405 (false positive: operator = should return reference to itself)
2010-02-17 22:42:08 +01:00
Robert Reif
f15c408f13
Fixed #1388 (enum token/template parameter confusion - False positive)
2010-02-16 07:33:23 +01:00
Daniel Marjamäki
9394816fcf
Refactoring: Use std::string instead of const char *
2010-02-14 19:58:17 +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
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
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
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
Robert Reif
6cbfc5f894
Fixed #1351 (add expression support to simplifyEnum)
2010-02-05 07:37:17 +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
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
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
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
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
53f514fc5c
Tokenizer: Fixed const simplification
2010-01-29 19:34:43 +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
Robert Reif
45b6b9e5a1
Fixed #1316 (### Internal error in Cppcheck. Please report it.)
2010-01-27 19:03:24 +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
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
Reijo Tomperi
24052c16b4
Fix some style errors found from our own code.
2010-01-23 23:44:08 +02: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
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
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
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
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
Robert Reif
cd31cd9298
Fixed #1251 (tokenize typedef of reference)
2010-01-18 19:06:50 +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
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
Robert Reif
0212225859
Tokenizer: fixed typedef issues
2010-01-13 07:59:47 +01:00
Daniel Marjamäki
2358c51694
Tokenizer: some cleanup of std::
2010-01-12 21:25:31 +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
c666a9662b
BufferOverrun: negative index is out of bounds
2010-01-11 21:18:07 +01:00
Robert Reif
94d5e32aa1
Fixed #1248 (tokenize typedef of array)
2010-01-11 17:09:04 +01:00
Robert Reif
19ba151531
Fixed #1244 (tokenize typedef of unnamed struct)
2010-01-10 08:49:02 +01:00
Daniel Marjamäki
6ec5b797ab
Borland C++: Fixed compiler error
2010-01-09 10:24:35 +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
Reijo Tomperi
ff0573998a
Added more validating code to tokenizer. Currently commented out.
2010-01-06 01:32:05 +02:00
Robert Reif
13f627d0d5
Fixed #1215 (are enums processed properly?)
2010-01-04 17:22:06 +01:00
Robert Reif
bcafb30d0d
Fixed #1211 (add struct support for constructor checks)
2010-01-02 17:29:55 +01:00
Daniel Marjamäki
6af5e434d8
Fixed #1204 (Tokenizer::findClassFunction broken)
2010-01-02 08:33:54 +01: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
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
e0ecef5d71
fixed a hang in Tokenizer::simplifyFunctionParameters
2009-12-31 19:31:21 +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
461d826eff
Fixed #1105 (improve check: uninitialized variable not detected for 'a = a')
2009-12-30 20:15:44 +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
2de2ecafe4
Fixed #1168 (false positive: Uninitialized variable)
2009-12-30 08:24:27 +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
84ce6ba75a
Robert Reif: Fixed #1162 (add support to tokenize typedefs with templates)
2009-12-29 07:28:00 +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
197bcf17ba
Tokenizer: Simplify 'while (0)' better
2009-12-28 08:37:34 +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
44a629ec74
Fixed #1141 (Tokenizer: Wrong simplification of calculations)
2009-12-25 14:47:15 +01:00
Daniel Marjamäki
4dac46b2d7
Fixed #1127 (Segfault with template)
2009-12-22 20:10:08 +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
191a913ff9
Fixed #1117 (segmentation fault of cppcheck)
2009-12-20 12:45:34 +01: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
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
e52fb36c5c
Fixed #1060 (Preprocessor: wrong define handling)
2009-12-11 19:28:37 +01:00
Daniel Marjamäki
e2473314b5
Fixed #1024 (Preprocessor: doesn't expand macro in macro)
2009-12-09 19:14:07 +01:00
Reijo Tomperi
d08d1deab1
Apply patch from #1066 (Speed up cppcheck)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/1066
2009-12-08 23:12:49 +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
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
a30a64d280
suppress 'internal error' message about failed template instantiation in release mode
2009-12-06 11:44:53 +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
a5e43b4be5
Fixed #1051 (segmentation fault when there is syntax error)
2009-12-06 09:02:13 +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
e66156ab5c
Fixed #1049 (Tokenizer: internal error for 'std::list<std::string[8]> w1, w2;')
2009-12-05 22:19:54 +01: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
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
96268b4caf
Fixed #1030 (wrong line number with goto)
2009-12-02 19:47:35 +01:00
Daniel Marjamäki
153a13272c
ericsesterhenn: Fix #1028 (False positive resource leak)
2009-11-30 16:45:19 +01:00
Daniel Marjamäki
e6b5fe99f6
Fixed #1027 (Internal error: sizeof a++)
2009-11-29 17:25:35 +01:00
Daniel Marjamäki
f4943b8b9c
changed error message when there an internal error in Cppcheck is found
2009-11-29 16:13:14 +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
Reijo Tomperi
57aac9270a
validator bugs are now printed using the errorlogger
2009-11-28 23:08:43 +02:00
Daniel Marjamäki
b0470d649a
mode change from 755 to 644
2009-11-28 12:56:34 +01:00
Daniel Marjamäki
5ab8967632
Borland C++: Fixed compiler error
2009-11-28 08:55:51 +01:00
Reijo Tomperi
0bdf63d864
Token debug function printOut() can now print out filename instead of index
2009-11-28 00:04:04 +02: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