Sébastien Debrard
c7b8bd543f
fix ticket 155 - char array
2011-01-24 19:04:56 +01:00
Robert Reif
f5b26222ff
Symbol database: better handling of functions returning function pointer. ticket: #2468
2011-01-23 22:31:35 +01:00
Daniel Marjamäki
586cbd5839
Tokenizer: Upon createLinks error, report error and bailout
2011-01-23 09:38:38 +01:00
Daniel Marjamäki
b10f0aabd6
Fixed #2376 (simplifyTypedef: upx-ucl)
2011-01-23 09:04:34 +01:00
Robert Reif
2a3cce5001
Symbol database: fixed corruptions. ticket: #2468
2011-01-23 08:41:31 +01:00
Daniel Marjamäki
86e6822264
Fixed #2493 (false positive: (error) Possible null pointer dereference: pExpr)
2011-01-23 08:38:09 +01:00
Daniel Marjamäki
9d3b242cd8
Fixed #1952 (false negative: buffer acces out of bounds with memcpy)
2011-01-22 21:31:26 +01:00
Debrard Sébastien
27dce075e0
Fixed #155 (check size of a variable whose type is a sized array)
2011-01-22 19:21:56 +01:00
Robert Reif
8abae6f1e5
Symbol database: match copy-constructor better. ticket: #2484
2011-01-22 17:43:36 +01:00
Daniel Marjamäki
1e25d74ba4
Class: better check if there are friends. ticket: #2459
2011-01-22 17:35:54 +01:00
Daniel Marjamäki
f947955c63
Fixed #2492 (False positive: memory leak 'return &self->foo;')
2011-01-22 13:40:19 +01:00
Daniel Marjamäki
9551332321
Fixed #2459 (False positive with unused private function and friend)
2011-01-22 13:00:03 +01:00
Daniel Marjamäki
5c88129f01
Fixed #2484 (false positive because template is not instantiated properly)
2011-01-22 12:42:53 +01:00
Daniel Marjamäki
bc31f317bc
Fixed #2491 (Tokenizer::setVarId : wrong handling of function call: 'a(b * c, 1);')
2011-01-22 09:27:16 +01:00
Robert Reif
0746c2410a
Symbol database: Fixed memory leak. ticket: #2468
2011-01-22 08:36:47 +01:00
Robert Reif
69eee86ee4
Tokenizer: Only create 1 symbol database. ticket: #2468
2011-01-22 08:34:24 +01:00
Robert Reif
767e01e24a
Fixed #2478 (Crash when trying to analyze files (CheckClass::checkReturnPtrThis))
2011-01-21 19:54:41 +01:00
Robert Reif
d73709a620
Symbol database: rename variables. ticket: #2468
2011-01-21 07:42:41 +01:00
Daniel Marjamäki
87e3e9e703
Fixed #2488 (false positive with updating iterator in a for loop)
2011-01-20 20:48:35 +01:00
Daniel Marjamäki
a21f8eec7c
Fixed #2481 (false positive with break: After insert, the iterator '*' may be invalid)
2011-01-20 19:26:52 +01:00
Robert Reif
9dce0dd75c
Symbol database: refactoring of classAndStructTypes parsing. ticket: #2468
2011-01-20 18:02:52 +01:00
Daniel Marjamäki
70eadb37bd
Fixed #2481 (false positive with 'break;': After insert, the iterator '*' may be invalid)
2011-01-19 21:00:46 +01:00
Daniel Marjamäki
ecac93ebed
Fixed #2462 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant)
2011-01-19 18:37:33 +01:00
Pete Johns
94aafa482c
Fixed #2480 (false positive on unused private function)
2011-01-19 20:32:08 +11:00
Daniel Marjamäki
856a631f35
Fixed #2483 (SymbolDatabase compiler warning (VS2008/VS2010))
2011-01-19 07:33:38 +01:00
Kimmo Varis
b8b2e3fae9
Move filelister* to cli.
...
Ticket #2445 (Move FileLister classes from LIB to CLI).
2011-01-18 19:58:49 +02:00
Kimmo Varis
86ac25456e
Move sameFileName() method to Path class.
...
Ticket #2445 (Move FileLister classes from LIB to CLI). Moving
sameFileName() to Path allows moving FileLister* classes to CLI.
2011-01-18 19:58:16 +02:00
Pete Johns
0e1bab6dc3
Merge branch 'multi_indirection_templates'
2011-01-18 21:08:04 +11:00
Pete Johns
ea01c04108
Added parenths to fix build breakage.
2011-01-18 21:07:33 +11:00
Pete Johns
62063aa250
Refactored to remove code duplication.
2011-01-18 20:51:57 +11:00
Pete Johns
abfd907763
Made isVariableDeclarationIdentifiesTemplatedPointerToPointerVariable() pass.
...
And added isVariableDeclarationIdentifiesTemplatedArrayVariable() (passing) into the bargain.
2011-01-18 20:14:12 +11:00
Robert Reif
8631ee65a3
Fixed #2474 (false positive: Member variable 'A::m_SemVar' is not initialised in the constructor.)
2011-01-18 07:34:11 +01:00
Robert Reif
c994508c3e
Symbol database: Refactor the variables API. ticket: #2468
2011-01-18 07:32:06 +01:00
Daniel Marjamäki
965c1a94fd
Fixed #2475 (False positive in structure initialisation: The scope of the variable bits can be reduced)
2011-01-17 20:51:15 +01:00
Daniel Marjamäki
b5020468f6
Fixed #2467 (false positive: possible nullptr dereference)
2011-01-17 19:23:00 +01:00
Daniel Marjamäki
065e2e277e
Fixed #2473 (False positive: Memory leak when there is local struct)
2011-01-17 19:00:21 +01:00
Robert Reif
959e10cee5
Symbol database: renamed classes. ticket: #2468
2011-01-17 18:29:19 +01:00
Robert Reif
bf9528558e
Symbol database: pulled out classes into global scope. ticket: #2468
2011-01-17 07:21:59 +01:00
Zachary Blair
481907ef14
Fixed #2457 (CheckOther::checkIncorrectLogicOperator: hang if variable id is 0)
2011-01-16 13:57:29 -08:00
Pete Johns
9c300813a4
Fixed gcc warning.
2011-01-17 08:52:26 +11:00
Pete Johns
7918c4b804
isVariableDeclaration() now detects template variables.
2011-01-17 08:36:53 +11:00
Pete Johns
38c37ad2d8
Moved array declaration detection into isVariableDeclaration()
2011-01-17 08:36:52 +11:00
Daniel Marjamäki
93d1313186
Refactoring: Check if type is class/struct through symbol database
2011-01-16 19:57:29 +01:00
Daniel Marjamäki
e6a1efa13b
Fixed #2302 (Duplicate id 'unusedVariable')
2011-01-16 18:45:05 +01:00
Robert Reif
d341b42b0c
Symbol database: increased constness. ticket: #2468
2011-01-16 18:13:54 +01:00
Daniel Marjamäki
657c22d23b
cppcheck: output errorlist to stdout
2011-01-16 17:18:09 +01:00
Robert Reif
66be74a5af
Symbol database: Refactorings. Move check-specific code to check. Ticket: #2468
2011-01-16 16:37:11 +01:00
Daniel Marjamäki
a97e28491f
Fixed #2407 (False positive: unused private function)
2011-01-16 12:16:31 +01:00
Daniel Marjamäki
f72fd6960e
Fixed #2449 (segfault in tokenize.cpp, incorrect parsing)
2011-01-16 11:54:28 +01:00
Raphael Geissert
da998fec68
Tokenizer: simplify restrict
2011-01-16 11:37:03 +01:00
Robert Reif
beb2db82a2
Fixed #980 (false negative: division by zero when using enum)
2011-01-16 11:24:58 +01:00
Robert Reif
0f6644e1ea
Symbol database: Refactorings
2011-01-16 11:18:12 +01:00
Daniel Marjamäki
8ef47dc576
astyle formatting
2011-01-16 09:57:56 +01:00
Daniel Marjamäki
8fa26fbd28
Memory leaks: Optimised and refactored
2011-01-16 09:56:04 +01:00
Daniel Marjamäki
433ae8abf4
STL: Optimised checking
2011-01-15 22:38:05 +01:00
Daniel Marjamäki
bb2862bc97
fixed unit test
2011-01-15 21:04:20 +01:00
Daniel Marjamäki
94ebb24d3d
Optimising: about 5% improvement with Visual Studio executable
2011-01-15 20:55:51 +01:00
Daniel Marjamäki
6edf35ebf5
Fixed #2463 (false positive: possible nullpointer dereference)
2011-01-15 12:09:36 +01:00
Daniel Marjamäki
97d0755750
Fixed #2454 (Tokenizer::simplifyKnownVariables: problem with float/double variables)
2011-01-15 08:48:42 +01:00
Daniel Marjamäki
5920dbb7e7
Fixed #2466 (Tokenizer: simplification of enum)
2011-01-15 08:21:06 +01:00
Robert Reif
8ecba0af90
Fixed #2464 (False positive: not initialised/not assigned Static variable in copy constructors.)
2011-01-15 08:04:50 +01:00
Robert Reif
79b9939610
Fixed #2465 (False positive: not initialised variable, but there is default constructor for it.)
2011-01-15 07:59:37 +01:00
Daniel Marjamäki
00b49a51da
Fixed #2451 (False positive when incrementing map value via iterator)
2011-01-14 19:50:07 +01:00
Robert Reif
708a75e363
Fixed #2452 (syntax error when 'void f(typedef int x)' is used. causes segmentation fault.)
2011-01-14 07:41:22 +01:00
Kimmo Varis
dffe1a0acd
Fix doxgen comment.
2011-01-13 23:25:17 +02:00
Kimmo Varis
4668e19060
Modify Cppcheck::addFile() only take one file as a parameter.
...
CLI and GUI already do the directory walking for us and we have list
of files to check. So we were duplicating this directory walking.
Practically doing check again for each file if it is a directory.
Which can take some time with large amount of files.
2011-01-13 23:18:04 +02:00
Daniel Marjamäki
b247d7d56e
Fixed #2450 (False positive when iterator reused)
2011-01-13 20:57:44 +01:00
Daniel Marjamäki
36c1807228
Fixed #2458 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant)
2011-01-13 20:12:57 +01:00
Zachary Blair
38be7056b0
Fixed #2434 (FP memleakOnRealloc)
2011-01-12 22:33:46 -08:00
Daniel Marjamäki
09f900ce79
Fixed #2440 (False negative: basic memory leak)
2011-01-11 20:14:15 +01:00
Kimmo Varis
846d3dae99
Accept include paths ending with backslash.
...
Convert include path to use internal path separators when parsing
command line. Convert back to native separators when using paths.
Ticket #2448 (Error in handling -I command line parameter)
2011-01-11 21:04:21 +02:00
Daniel Marjamäki
79e52a8c45
Fixed #2296 (Tokenizer: simplifyKnownVariable doesn't simplify pointer properly 'delete [] p;')
2011-01-11 19:34:35 +01:00
Daniel Marjamäki
9658e2299d
Fixed #2443 (Possible null pointer dereference: xxx - otherwise it is redundant to check if xxx is null at line)
2011-01-10 19:57:26 +01:00
Daniel Marjamäki
2d92f1ff6a
Fixed #2442 (False positive: Memory leak when function returns in 'if' instead of 'else if')
2011-01-10 19:35:06 +01:00
Reijo Tomperi
226b605774
Change year 2010 -> 2011 in license texts.
2011-01-09 21:33:36 +02:00
Daniel Marjamäki
2848abbf36
Fixed #1219 (improve check: null pointer not detected 'if (p) return; *p = 0;')
2011-01-09 20:16:16 +01:00
Daniel Marjamäki
79ef02812d
Fixed #2211 (false negative: buffer access out of bounds for(int i=0; i !=6;i++))
2011-01-09 18:51:28 +01:00
Daniel Marjamäki
88abb32ddf
Fixed #2429 (Tokenizer: Wrong simplification of 'sizeof .1250E+04')
2011-01-09 10:09:54 +01:00
Daniel Marjamäki
d316f6005f
Fixed #2409 (print a warning if provided path (commandline option -I [PATH]) does not exist)
2011-01-09 09:29:38 +01:00
Daniel Marjamäki
68beffca04
Fixed #2437 (false positive: possible null pointer dereference: tok2)
2011-01-08 17:16:52 +01:00
Daniel Marjamäki
67a1c6817b
Error message: Replace " with ' around variable name
2011-01-08 14:35:18 +01:00
Daniel Marjamäki
d758929490
Fixed #2433 (strtol: false positive when strtol isn't used in function call)
2011-01-08 09:23:51 +01:00
Daniel Marjamäki
d27b6a1598
astyle formatting
2011-01-07 20:48:02 +01:00
Daniel Marjamäki
14cbaebfe2
Fixed #2428 (false alarm with code containing a throw clause)
2011-01-07 20:45:33 +01:00
Daniel Marjamäki
989e0e7ccb
Preprocessor: fix bug when determining location when there is a missing include. ticket: #2326
2011-01-07 19:48:51 +01:00
Ettl Martin
9b66f7a754
#ticket 2429: added a test to the mathlib to ensure the used floating point number is recognized correctly
2011-01-07 12:27:12 +01:00
Robert Reif
bfc95e01c1
Fixed #2426 (### Internal error in Cppcheck. Please report it.)
2011-01-07 08:02:47 +01:00
Robert Reif
56ffde402f
Fixed #2425 (segmentation fault of cppcheck)
2011-01-07 07:42:00 +01:00
Daniel Marjamäki
1b3a5ed0be
Tokenizer: simplify NULL to 0 in the normal token list
2011-01-06 20:16:14 +01:00
Daniel Marjamäki
a7835c4054
Preprocessor: Reverted fix for #2131 , it didn't work well so a better fix is needed
2011-01-06 20:01:09 +01:00
Daniel Marjamäki
37b1f7c296
memsetZeroBytes: improved error message. ticket: #2421
2011-01-06 16:27:22 +01:00
Daniel Marjamäki
77ed6ecb5d
Null pointers: Added comments
2011-01-06 13:18:49 +01:00
Daniel Marjamäki
04a117938d
Buffer overrun: Added comments
2011-01-06 13:02:21 +01:00
Daniel Marjamäki
ca294544ca
CheckStl: Added comments
2011-01-06 12:20:54 +01:00
Daniel Marjamäki
616914c1ff
Tokenizer: simple refactorings. and added a few comments
2011-01-06 12:07:37 +01:00
Raphael Geissert
6ec4497919
[PATCH] Check for calls to memset() where 0 bytes are to be filled
...
Inspired by Silvio Cesare's work
2011-01-06 11:31:58 +01:00
Daniel Marjamäki
d1854e330b
Fixed #2413 (fflush() with NULL argument is valid.)
2011-01-06 08:12:34 +01:00
Robert Reif
03a484554c
Fixed #2415 (false positive: Member variable not initialized in constructor calling assignment operator)
2011-01-06 07:56:34 +01:00
Daniel Marjamäki
c74b2e3cbf
Fixed #2411 (possible null pointer dereference (aborting via function pointer not detected))
2011-01-05 21:48:26 +01:00
Daniel Marjamäki
033e759c39
command line: added 'information' id to enable
2011-01-05 21:20:21 +01:00
Daniel Marjamäki
21af64049c
Fixed #2401 (false positive: Uninitialized variable: result)
2011-01-05 20:44:04 +01:00
Daniel Marjamäki
68de938d23
Uninitialized variables. Fixed false positive when there are multiple related conditions. ticket: #2399
2011-01-05 19:54:56 +01:00
Daniel Marjamäki
a0d62e041f
Tokenizer: Fixed memory corruption
2011-01-05 19:38:22 +01:00
Robert Reif
157498e694
Fixed #2412 (typedef: struct with inheritance)
2011-01-05 17:42:55 +01:00
Robert Reif
ed6f683573
typedef: better handling. ticket: #2414
2011-01-05 17:39:53 +01:00
Zachary Blair
188871c428
Removed an unnecessary newline in the message. Ticket #2343
2011-01-05 00:06:53 -08:00
Zachary Blair
3f97bd5477
Fixed #2343 (The ftime obsolete function warning seems wrong)
2011-01-04 23:21:02 -08:00
Kimmo Varis
bb719774b1
Improve suspicious condition (string::find) message.
...
See forum thread:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2011-01-04 23:19:23 +02:00
Kimmo Varis
66e8b7bc1e
Improve dangerous iterator usage (after erase()) message.
...
See forum thread:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2011-01-04 23:18:48 +02:00
Kimmo Varis
b750a52f6d
Improve strncat 3rd parameter usage warning message.
...
See forum thread:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2011-01-04 23:17:44 +02:00
Daniel Marjamäki
d700f25518
Fixed #2399 (Tokenizer::simplifyKnownVariables: variables in conditions)
2011-01-04 21:35:35 +01:00
Daniel Marjamäki
63c1ee375e
Fixed #2398 (false positive: Uninitialized variable)
2011-01-04 19:36:29 +01:00
Daniel Marjamäki
c2a194ead0
Fixed #2393 (Token::Match called with varid 0)
2011-01-04 18:34:51 +01:00
Daniel Marjamäki
2c6421d162
Merge branch 'master' of https://github.com/rgeissert/cppcheck into rgeissert-realloc
2011-01-04 18:21:18 +01:00
Daniel Marjamäki
85897c3991
Merge branch 'debug-warnings' of https://github.com/rgeissert/cppcheck into rgeissert-debug-warnings
2011-01-04 18:17:39 +01:00
Robert Reif
63208e87d3
typedef: delete unhandled typedefs. ticket: #2348
2011-01-04 07:43:40 +01:00
Robert Reif
a782d3ddf7
typedef: fix testcase 4. ticket: #2375
2011-01-04 07:39:41 +01:00
Robert Reif
63ad1fbe69
Fixed #2400 (Tests crashing in Windows)
2011-01-04 07:34:32 +01:00
Raphael Geissert
2b1ec9a07f
Mention the name of the variable in the inconclusive leak msg
2011-01-03 20:40:31 -06:00
Markus Elfring
e459ed1de3
Fixed #2389 (mistakable warning from 'CheckClass::uninitVarError')
2011-01-03 19:03:42 +01:00
Raphael Geissert
3d9550b0bf
Simplify "x = realloc (0, n);" to "x = malloc(n);"
2011-01-02 17:46:10 -06:00
Raphael Geissert
e75a81669e
Move simplification of realloc after simplification of math ops
2011-01-02 16:41:34 -06:00
Daniel Marjamäki
d2714fefda
typedef: Fixed testcase. ticket: #2375
2011-01-02 17:28:47 +01:00
Daniel Marjamäki
97f7a36e91
Buffer overruns: Added comments
2011-01-02 14:16:58 +01:00
Daniel Marjamäki
2e7e118cb8
Fixed #2392 (Preprocessor: Wrong simplification of __VA_ARGS__)
2011-01-02 11:19:37 +01:00
Daniel Marjamäki
b5876f00ff
Fixed #2391 (cstdlib file and memory function check misbehavior)
2011-01-02 08:32:51 +01:00
Daniel Marjamäki
4ec9d418ff
Fixed #2215 (Improve check: Writing outside malloc bounds not detected)
2011-01-01 20:56:21 +01:00
Daniel Marjamäki
789d944912
typedef: don't simplify typedef after 'case'. it means that there is a typedef and constant with the same names. Ticket: #2386
2011-01-01 20:20:03 +01:00
Daniel Marjamäki
2a77dd3df1
Fixed #2246 (Improve check: Memory leak, function is not noreturn if return value is taken)
2011-01-01 20:14:01 +01:00
Daniel Marjamäki
c8775344d6
uninitialized variables: Added some comments
2011-01-01 18:24:27 +01:00
Daniel Marjamäki
3c238882a2
Fixed TODO testcase. Use symbol database instead of token list. Ticket: #2375
2011-01-01 17:54:37 +01:00
Daniel Marjamäki
3eabb4ebe0
Added comments in the memory leaks checking
2011-01-01 13:28:34 +01:00
Daniel Marjamäki
0cc49188c0
Memory leaks: localized variables
2011-01-01 12:27:57 +01:00
Daniel Marjamäki
62145431a7
Tokenizer: Added more comments
2011-01-01 11:40:32 +01:00
Daniel Marjamäki
e385323b65
Tokenizer: Added doxygen comments
2011-01-01 11:26:48 +01:00
Daniel Marjamäki
71acf78c64
Tokenizer: added doxygen comments
2011-01-01 09:26:24 +01:00
Zachary Blair
68700b3561
Fixed #2382 (Catching exceptions by value instead of reference)
2010-12-31 12:48:24 -08:00
Daniel Marjamäki
2da3fea1b8
Fixed #2386 (segmentation fault occurs in the checking when typedef has same name as an enum constant)
2010-12-31 20:55:28 +01:00
Daniel Marjamäki
3e5614a5a3
Null Pointer: Refactoring - broke out CheckNullPointer::isPointer
2010-12-31 18:30:04 +01:00
Daniel Marjamäki
04eb9cf305
Fixed #2378 (Refactoring: create utility function that skips redundant if/for/while)
2010-12-31 18:07:46 +01:00
Daniel Marjamäki
ed6c76ce04
Fixed #2385 (False positive: array index out of bounds)
2010-12-31 17:43:38 +01:00
Daniel Marjamäki
b04885cd4f
astyle formatting
2010-12-31 15:57:08 +01:00
Daniel Marjamäki
4d8fae186b
added more comments
2010-12-31 15:56:41 +01:00
Daniel Marjamäki
b634242a58
Added comments for CheckNullPointer::nullPointerLinkedList
2010-12-31 14:37:34 +01:00
Daniel Marjamäki
377bcbe729
Remove redundant condition
2010-12-31 14:24:15 +01:00
Daniel Marjamäki
1a8c410c06
gcc: fixed compiler warning (suggest parantheses around assignment)
2010-12-31 14:18:24 +01:00
Daniel Marjamäki
3de9d9cb31
Refactoring and commenting CheckNullPointer::nullPointerAfterLoop
2010-12-31 14:17:10 +01:00
Daniel Marjamäki
59c86b5876
added doxygen comments
2010-12-31 14:16:22 +01:00
Daniel Marjamäki
1fa730d963
added some comments
2010-12-31 13:58:17 +01:00
Pete Johns
502cfe7243
Fixed #2384 ("The function 's::f' can be const" reported for pointer-to-pointer)
...
Moved check for pointer variables into isVariableDeclaration()
Can now handle multiple scopes and multiple levels of indirection. Simplified check for strucs and unions, too, reducing the size of getVarList().
skipScopeIdentifiers() and skipPointers() should probably be methods on class Token.
2010-12-31 22:12:32 +11:00