Daniel Marjamäki
c87037c29d
Fixed #2674 (False positive: possible null pointer dereference (check if pointer is null in one function, dereference it in another function))
2011-03-27 11:04:58 +02:00
Daniel Marjamäki
e89f6d6ec0
Fixed #2660 (False positive: Variable 'v' is assigned a value that is never used)
2011-03-27 08:19:09 +02:00
Markus Elfring
ce198f85fc
Addition of a file name in a CMake script (bug #2524 , #1690 )
...
A few source files were added because of the feature request "Ability to
exclude files and directories from checks".
6401271ceb
A CMake build script was updated for these changes.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2011-03-26 20:41:01 +01:00
Daniel Marjamaki
c6b176014b
cmake: removed the non-working pcre. ticket: #2679
2011-03-26 19:03:11 +01:00
Daniel Marjamäki
3c2d3ca3a4
Fixed #2653 (segmentation fault of cppcheck 'x=b=0;')
2011-03-26 12:20:23 +01:00
Daniel Marjamäki
7d9872a134
Tokenizer::setVarId: Prevent that wrong varid is given when uncertain. Ticket: #2680
2011-03-26 10:05:07 +01:00
Daniel Marjamäki
2b1277aa64
Fixed #2680 (setVarId: variables with class qualification don't get varid)
2011-03-26 08:56:41 +01:00
Robert Reif
168db82fd6
better checking of assignment to array element in CheckClass::checkConstFunc
2011-03-25 23:02:13 -04:00
Robert Reif
f8e1735b0f
add support to CheckClass::checkConstFunc for ++/-- array elements
2011-03-25 22:37:32 -04:00
Sebastien Debrard
29b7d4b9c3
sync cmake files with the master branch
2011-03-26 02:03:52 +01:00
Robert Reif
6e6c86365f
add some missing ; at end of class and struct definitions in checkclass tests
2011-03-25 07:58:51 -04:00
Daniel Marjamäki
5058cc6aa1
Reverted non-CMake changes in previous 'Added CMake files' commit
2011-03-25 07:59:48 +01:00
Markus Elfring
9301ee28a8
Added CMake files
2011-03-25 07:14:53 +01:00
Robert Reif
710eb8ffd9
add support for global namespace to Tokenizer::simplifyVarDecl()
2011-03-24 23:06:20 -04:00
Robert Reif
fc258164cd
fix #2675 (false positive: syntax error)
2011-03-24 22:26:42 -04:00
Daniel Marjamäki
74105f5d83
Fixed #2673 (false positive: memory leak (address stored in list))
2011-03-24 17:14:12 +01:00
Robert Reif
61e720c82b
fix #1288 (Use of memset on struct - nested structs not handled)
2011-03-23 21:58:58 -04:00
Robert Reif
cbc81e20f5
fix Tokenizer::simplifyVarDecl() template assignment
2011-03-23 21:15:49 -04:00
Robert Reif
7e3e5d628d
better fix for #2672 (False positive: function can be const, nested classes declared in one line)
2011-03-23 20:19:32 -04:00
Daniel Marjamäki
5f36ede4f5
Fixed #2662 (Segfault: overloaded function call function with same name)
2011-03-23 18:45:47 +01:00
Robert Reif
3259239dfe
fix #2672 (False positive: function can be const, nested classes declared in one line)
2011-03-23 07:48:18 -04:00
Robert Reif
ac7f1f874e
add some more CheckClass::noMemset tests
2011-03-22 22:45:19 -04:00
Robert Reif
d36ed9aff1
fix #2670 (False positive: function can be const, overloaded functions)
2011-03-22 19:23:36 -04:00
Ettl Martin
8308fb72e3
fixed performance issues, found by selfcheck with cppcheck.
2011-03-22 23:15:15 +01:00
Ettl Martin
ff1de4c896
extended checkmemoryleak-whitelist
2011-03-22 22:13:29 +01:00
Robert Reif
c043e6e1a2
fix
2011-03-21 20:57:17 -04:00
Robert Reif
dc0dfea079
fix invalid bitfield match and simplification that created invalid code
2011-03-21 20:17:14 -04:00
Robert Reif
3c5134bb21
run astyle
2011-03-21 19:59:53 -04:00
Ettl Martin
7e31c91a79
extended checkmemoryleak white list
2011-03-21 23:59:43 +01:00
Ettl Martin
38cf9f26df
#2667 added open(), _open() and _wopen() function to checkmemoryleak whitelist, incl. unittests;
2011-03-21 23:20:46 +01:00
Ettl Martin
78bcb07e19
#2667 added perror to checkmemoryleak white list; added unit-tests.
2011-03-21 17:43:26 +01:00
Ettl Martin
f242cb639e
#2668 fixed memory leak ( freopen() )
2011-03-21 15:12:21 +01:00
Ettl Martin
a975301ce4
#2659 added chown,chmod and chdir functions to checkmemoryleak white list; added unittests for each case;
2011-03-21 00:07:37 +01:00
Ettl Martin
01249d4f48
#2659 added access()-function to checkmemoryleak white-list and provided untittests.
2011-03-20 23:39:44 +01:00
Ettl Martin
3407561df6
#2667 removed wrong unittests;
2011-03-20 23:02:18 +01:00
Ettl Martin
c9a5051ea0
#2667 created unit-tests
2011-03-20 22:31:29 +01:00
Ettl Martin
7afc0978c2
#2659 added stat function to white list and provide unit tests.
2011-03-20 22:17:51 +01:00
Ettl Martin
ab6888dbfe
fixed ticket 2659: added lstat function to white list; provided unit-tests.
2011-03-20 21:52:25 +01:00
Robert Reif
2277cb6965
fix #2663 (False negative: function can be const (changing unknown or uninitialised variable))
2011-03-20 13:29:52 -04:00
Robert Reif
41d80b5c8d
fix #2664 (False negative: function can be const (using type from another namespace))
2011-03-20 12:53:37 -04:00
Daniel Marjamäki
6dd9676d43
FileLister: Updated Visual Studio files
2011-03-20 14:47:15 +01:00
Daniel Marjamäki
c60edb5af6
FileLister: updated qmake files
2011-03-20 14:37:28 +01:00
Daniel Marjamäki
8caf96be63
FileLister: Moved back the code into a single cpp file
2011-03-20 14:25:11 +01:00
Daniel Marjamäki
27506b4231
Fixed #2661 (False positive: object destroyed immediately)
2011-03-20 09:55:26 +01:00
Daniel Marjamäki
2613780b85
Fixed #2662 (Segfault: overloaded function call function with same name)
2011-03-20 09:16:52 +01:00
Robert Reif
fc13854095
fix #1280 (Pointer to function support)
2011-03-19 16:21:26 -04:00
Robert Reif
92316e5745
fix #1987 (Internal error:: CheckClass::SpaceInfo::getVarList found variable 'element_size' with varid 0.)
2011-03-19 16:00:43 -04:00
Daniel Marjamäki
2dcd0128b0
Fixed #2213 (false negative: resource leak (calling allocating subfunction twice))
2011-03-19 14:05:22 +01:00
Daniel Marjamäki
31af3a64bc
Tokenizer::setVarId: Fixed problem with same variable name in multiple classes
2011-03-19 11:09:51 +01:00
Daniel Marjamäki
61d5229d06
Refactoring: Renamed showAll flag to inconclusive
2011-03-19 10:51:38 +01:00
Daniel Marjamäki
45a3828da7
Tokenizer::setVarId: Better handling of class declarations when variable usage comes before variable declaration
2011-03-19 09:04:03 +01:00
Robert Reif
afc7fd82ed
#2630 (segmentation fault of cppcheck (template <typedef A>)
2011-03-18 20:44:58 -04:00
Robert Reif
1de35c168d
fix #2657 (segmentation fault of cppcheck ( gcc-testsuite: return f(){} ))
2011-03-17 20:10:56 -04:00
Robert Reif
7b63da4964
fix #2651 (Segmentation fault (typedef))
2011-03-17 20:00:49 -04:00
Daniel Marjamäki
dab09aedee
Fixed #2648 (Tokenizer::simplifyTemplates: Segmentation fault (gcc-testsuite))
2011-03-17 21:45:03 +01:00
Robert Reif
7e04ea0859
fix removal of throw() from const functions
2011-03-16 19:54:52 -04:00
Daniel Marjamäki
fec9edf628
Tokenizer::simplifyTemplates: First simple fix for problems when using sizeof in template parameter
2011-03-16 22:16:30 +01:00
Robert Reif
f7cbc90c84
fix #2581 (### Internal error in Cppcheck. Please report it.)
2011-03-15 23:28:45 -04:00
Robert Reif
47531dd99c
fix #2637 (segmentation fault of cppcheck ( {} const const ))
2011-03-15 22:33:14 -04:00
Robert Reif
ba0b3e6451
fix #2651 function typedef with extra ()s
2011-03-15 19:24:30 -04:00
Greg Hewgill
fa868e44ae
Support use of 'this->' when checking operator=() return type
2011-03-15 20:19:30 +13:00
Daniel Marjamäki
07fe361964
Fixed #2638 (Tokenizer::setVarId : varid is wrongly given when unknown macro is used)
2011-03-13 17:52:45 +01:00
Daniel Marjamäki
f26bc6a75c
Fixed #2621 (Segmentation fault for GCC statement expression)
2011-03-13 10:34:54 +01:00
Daniel Marjamäki
ed11a9e3cb
Fixed #2639 (False positive: confusion between struct and function)
2011-03-13 08:38:40 +01:00
Robert Reif
27f4b8b88b
Convert CheckClass::noMemset to use the symbol database to lookup types. This adds better support for namespaces and nested classes.
2011-03-12 22:41:21 -05:00
Daniel Marjamäki
f3728c0b76
Fixed #2647 (False positive: Possible null pointer dereference (member function call))
2011-03-12 20:57:19 +01:00
Daniel Marjamäki
6bd56dbe20
Fixed #2643 (False positive: iterator increment and insert)
2011-03-12 20:29:54 +01:00
Robert Reif
6a2848e50f
fix another false negative introduced by fix for #2641
2011-03-12 12:27:19 -05:00
Robert Reif
384bd96766
fix false negative introduced by fix for #2641
2011-03-12 11:42:58 -05:00
Daniel Marjamäki
0a28b7309f
Fixed #2641 (False positive: Possible null pointer dereference (global pointer, function call))
2011-03-12 15:02:06 +01:00
Daniel Marjamäki
29ab409af5
Merge branch '2390b' of https://github.com/elfring/cppcheck into elfring-2390b
2011-03-12 11:58:24 +01:00
Greg Hewgill
2716b856f4
throwing an exception is a valid immediate exit from switch
2011-03-12 07:27:31 +13:00
Robert Reif
79f0fe7d1c
refactor symbol database and checks to use list of Scope rather than list of Scope pointers
2011-03-10 19:43:29 -05:00
Greg Hewgill
256e7dee21
Allow suppressing all warnings (using *) for specified file or files
2011-03-10 22:00:48 +13:00
Greg Hewgill
1ec6a642dc
Revert "Check for memset on nested structs (ticket #1288 )"
...
Turns out this fix is incomplete.
This reverts commit a084697410
.
2011-03-10 20:19:31 +13:00
Daniel Marjamäki
db48158b28
Suspicious condition: Added new check for conditions that contains assignment+comparison
2011-03-09 22:20:14 +01:00
Daniel Marjamäki
5a0ec56fc2
Fixed #2632 (segmentation fault of cppcheck ( void>(); void>() ))
2011-03-09 21:25:44 +01:00
Daniel Marjamäki
bea3875386
Fixed #2607 (segmentation fault of cppcheck ( struct C {} {} x))
2011-03-09 21:00:28 +01:00
Daniel Marjamäki
be33f6b945
Fixed #2635 (False positive: resource leak)
2011-03-09 19:53:59 +01:00
Greg Hewgill
a084697410
Check for memset on nested structs (ticket #1288 )
2011-03-09 23:02:49 +13:00
Greg Hewgill
3883afcbf4
Check for memset on objects with virtual functions (ticket #607 )
2011-03-09 22:10:39 +13:00
Greg Hewgill
70b4076111
refactor noMemset so it recursively checks parent classes for non-memset-compatible things
2011-03-09 21:29:30 +13:00
Robert Reif
7a7257f200
fix #2630 (segmentation fault of cppcheck ( typedef ... )
2011-03-08 20:24:57 -05:00
Daniel Marjamäki
0b8581e717
Fixed #2620 (Tokenizer::setVarId : wrong handling of member function parameters)
2011-03-08 20:41:41 +01:00
Daniel Marjamäki
bf2362d558
Fixed #2634 (False positive: buffer access out of bounds)
2011-03-08 19:49:56 +01:00
Robert Reif
e305a155af
convert CheckStl::size() to use symbol database, fix false positives, and remove inconclusive
2011-03-07 19:49:43 -05:00
Daniel Marjamäki
06abaf95a5
Incorrect string compare: reduce noise when using strncmp on string literal
2011-03-07 21:37:13 +01:00
Daniel Marjamäki
7496cd412c
Fixed #2631 (Tokenizer::simplifyTemplates: template usage 'std::cout << (foo<double>(r));')
2011-03-07 21:21:06 +01:00
Daniel Marjamäki
8e571c04e4
Fixed #2633 (False positive: Memory leak for tree node)
2011-03-07 20:17:52 +01:00
Robert Reif
d678e4424c
fix #2630 (segmentation fault of cppcheck ( typedef y x () x ))
2011-03-06 18:59:56 -05:00
Daniel Marjamäki
f53ff27b71
Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631
2011-03-06 21:15:42 +01:00
Daniel Marjamäki
6648267ab8
Revert "Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631 "
...
This reverts commit de31ec1e44
.
2011-03-06 21:07:06 +01:00
Daniel Marjamäki
de31ec1e44
Tokenizer::simplifyTemplates: better handling of '(foo<double>())'. Ticket: #2631
2011-03-06 10:28:51 -08:00
Daniel Marjamäki
779dba9160
Fixed #2612 (segmentation fault of cppcheck ( <><< ))
2011-03-06 09:33:46 +01:00
Robert Reif
0debba4409
finish fixing #2624 (better function pointer support needed)
2011-03-05 21:41:58 -05:00
Robert Reif
7d2fb2ecde
partial fix for #2624 (better function pointer support needed)
2011-03-05 20:48:28 -05:00
Greg Hewgill
b9df7735c5
switchCaseFallThrough is now an inconclusive check
2011-03-06 13:06:30 +13:00
Greg Hewgill
c8394909c0
Relax detection of 'fall through' comment so it only adds a suppression if it immediately precedes 'case' or 'default'
2011-03-06 12:14:10 +13:00
Greg Hewgill
8c245cfd2f
switchCaseFallThrough is now a coding style check (ticket #2623 )
2011-03-06 09:43:27 +13:00
Greg Hewgill
e12ae654a8
Support a few more common styles of "fall through" comment
2011-03-05 18:02:38 +13:00
Greg Hewgill
c30125111a
Merge branch 'switch-case-fall-through'
2011-03-05 00:55:33 +13:00
Greg Hewgill
c5f8a06a97
add TODO for case where simplifyGoto() does the wrong thing
2011-03-05 00:45:59 +13:00
Greg Hewgill
cc7e05a5b0
fix case where fall through comment precedes preprocessor line
2011-03-05 00:45:58 +13:00
Greg Hewgill
8e839a46e8
add TODO for pathological case
2011-03-05 00:45:58 +13:00
Greg Hewgill
70fcbe94f4
avoid warning on first case (in case there are declarations before first case)
2011-03-05 00:45:58 +13:00
Greg Hewgill
610d2efaea
recognise fall through in c style comments
2011-03-05 00:45:58 +13:00
Greg Hewgill
a532a9690e
full implementation of switch case fall through
2011-03-05 00:45:57 +13:00
Greg Hewgill
93ea774484
initial simplistic implementation of switchCaseFallThrough
2011-03-05 00:45:57 +13:00
Robert Reif
f3b2acf585
really fix #2620 reference of typedef of array not simplified properly
2011-03-03 20:32:10 -05:00
Daniel Marjamäki
d7a6e729b8
Tokenizer::simplifyKnownVariables: Don't simplify 'strcpy(a,"ab"); b=a;'. Ticket: #2031
2011-03-03 20:07:56 +01:00
Robert Reif
3f0d0446e0
revert previous commit: simplified code isn't correct
2011-03-03 07:40:43 -05:00
Robert Reif
ee4b4f62d8
fix #2620 reference of typedef of array not simplified properly
2011-03-03 07:27:53 -05:00
Robert Reif
c9b2ab3c26
add debug message for function argument missing varid
2011-03-02 21:08:27 -05:00
Daniel Marjamäki
8e9a1c33ad
Fixed #2618 (Tokenizer::simplifyKnownVariables: Don't use known string value if address is wanted)
2011-03-01 20:20:48 +01:00
Daniel Marjamäki
db04d7b71e
Fixed #2616 (Segmentation fault with unknown macro)
2011-03-01 18:02:50 +01:00
Daniel Marjamäki
a2d2d93958
astyle formatting
2011-03-01 17:58:15 +01:00
Greg Hewgill
baf50c6db1
add TODO for #elif inside #if 0 processing, also for #if 1
2011-03-01 20:24:03 +13:00
Greg Hewgill
2efb2efaca
refactor #if 0 handling to leave preprocessor statements alone
2011-03-01 20:04:11 +13:00
Greg Hewgill
a331516735
handle #if (0) after removing parentheses
2011-03-01 19:50:17 +13:00
Greg Hewgill
31c56d7353
handle embedded whitespace in #if 0 processing
2011-03-01 19:32:47 +13:00
Greg Hewgill
87fd55b155
test case for #if 0 exclusion
2011-03-01 19:30:42 +13:00
Robert Reif
92efbd748e
fix #2595 bitfield fix for case x: break; and default: break;
2011-02-28 19:35:00 -05:00
Daniel Marjamäki
893b84a87c
Fixed #2615 (Segmentation fault in cppcheck 1.47)
2011-02-28 20:29:34 +01:00
Zachary Blair
e1b2569b81
Fixed #432 (New check: wrong usage of ! operator in conditions)
2011-02-27 12:30:22 -08:00
Robert Reif
962183f964
add an array flag to symbol database Variable class
2011-02-27 10:21:14 -05:00
Daniel Marjamäki
c1c9b96bb6
Fixed #2031 (Tokenizer: simplify known value (string has known value after strcpy))
2011-02-26 21:11:56 +01:00
Daniel Marjamäki
92ab1ef8e7
fix
2011-02-26 20:08:37 +01:00
Daniel Marjamäki
ab2bf0ee0c
Fixed #2575 (false positive: Preprocessor does not ignore #include within #if 0 block)
2011-02-26 10:04:38 -08:00
Daniel Marjamäki
32a49235e3
Fixed #2578 (Preprocessor does not correctly handle #define A 0 / #if A)
2011-02-23 13:08:24 -08:00
Daniel Marjamäki
daf0e7c37d
Fixed #2604 (Segmentation fault of cppcheck ( sizeof <= A ))
2011-02-23 20:44:14 +01:00
Greg Hewgill
b26777c962
Merge branch 'cmdline-suppress'
2011-02-23 21:34:09 +13:00
Greg Hewgill
22210e0255
add --suppress= command line option
2011-02-23 20:10:32 +13:00
Robert Reif
d1f7a8aca4
fix #2403 (simplifyTypedef: array of function pointers) Internal error message
2011-02-22 22:11:17 -05:00
Reijo Tomperi
7f9dc42ff1
Fix test array_index_24() to share code with environments where plain char is either signed or unsigned.
...
This was done, because that particular test has been already fixed a couple of times and it is still broken in some systems.
2011-02-22 21:46:12 +02:00
Daniel Marjamäki
9983aa5721
Fixed #2605 (cppcheck hangs with 100% cpu load ( #define = ))
2011-02-22 19:55:02 +01:00
Robert Reif
dd12fc177f
fix #2603 (segmentation fault of cppcheck ( typedef constexpr))
2011-02-22 07:48:34 -05:00
Robert Reif
703448171a
fix #2601 (segmentation fault of cppcheck)
2011-02-22 07:02:15 -05:00
Robert Reif
ba6c2ca310
fix #2602 (segmentation fault of cppcheck ( class A {A& operator=(const A&); }; ))
2011-02-22 06:47:28 -05:00
Robert Reif
4e1ce93104
fix #2600 (segmentation fault of cppcheck ( enum{const} ))
2011-02-21 19:30:40 -05:00
Robert Reif
999646fca6
fix #2599 (segmentation fault of cppcheck ( sizeof ))
2011-02-21 17:49:30 -05:00
Robert Reif
5f84272a52
fix segfault: #2591 (cppcheck hangs with 100% cpu load ( class A : ))
2011-02-21 14:25:35 -05:00
Robert Reif
5984b6b53f
fix #2595 (False positive Technically the member function 'A::foo' can be const)
2011-02-20 20:01:54 -05:00
Robert Reif
763763fa9b
fix bitfields to support non-numeric bitfield width
2011-02-20 18:22:49 -05:00
Daniel Marjamäki
bfe28d3b26
Fixed #2597 (False positive: Buffer access out-of-bounds for u_char, uint*_t, ...)
2011-02-20 21:24:57 +01:00
Daniel Marjamäki
c3fba356c0
Fixed #2563 (#if equality testing does not ignore parentheses)
2011-02-20 20:57:28 +01:00
Daniel Marjamäki
f6e6fa685e
Preprocessor: Added TODO test case for #2563
2011-02-20 20:11:51 +01:00
Daniel Marjamäki
7f67438d99
Null pointer: Added TODO test case. Ticket: #2379
2011-02-20 19:45:34 +01:00
Daniel Marjamäki
63c003f92e
Tokenizer: fixed so that 'p=&x; if(p)' is simplified to 'p=&x;if(&x)'. Ticket: #2596
2011-02-20 18:18:27 +01:00
Daniel Marjamäki
7894d86132
Null pointers: Fixed false negative for such code: 'if (p && *p) {} else { *p=0; }'. Ticket: #2379
2011-02-20 14:38:49 +01:00
Daniel Marjamäki
1cfb18be08
astyle formatting
2011-02-20 12:22:01 +01:00
Daniel Marjamäki
46f4e46d30
Tokenizer::simplifyTemplates: Better handling for multi-token template arguments such as 'Foo<std::string>'
2011-02-20 12:17:05 +01:00
Robert Reif
fef1142997
fix #2592 (False positive: 'operator=' should return reference to self)
2011-02-19 20:02:16 -05:00
Greg Hewgill
d20987c3da
Merge branch 'inline-suppression-c-style'
2011-02-20 13:26:35 +13:00
Greg Hewgill
98ab34b2b5
Support cppcheck-suppression in C style comments
2011-02-20 11:44:42 +13:00
Daniel Marjamäki
5f0206725b
Null pointers: Fixed false negative for such code 'if (p && *p==0) {} *p = 0;'. Ticket: #2379
2011-02-19 21:28:18 +01:00
Daniel Marjamäki
29d05cf5f2
Null pointers: Fixed false negative for such code: 'abc->a = 0; if (abc && ..'. Ticket: #2379
2011-02-19 21:10:31 +01:00
Daniel Marjamäki
e7ef1b3627
Null pointer: fixed false negative when dereferencing struct and then checking if it's null. Ticket: #2379
2011-02-19 21:01:38 +01:00
Robert Reif
e6eb160395
fix [B#2589 (segmentation fault of cppcheck (struct B : A))
2011-02-19 14:38:00 -05:00
Daniel Marjamäki
caca6e94e6
Fixed #2231 (uninitialized variable: undetected when initialization in for loop)
2011-02-19 20:19:46 +01:00
Robert Reif
77fe9858e2
fix #2587 (Spurious warning about struct hiding typedef)
2011-02-19 14:18:37 -05:00
Daniel Marjamäki
9a760b9654
Fixed #2582 (segmentation fault of cppcheck ( if() ))
2011-02-18 20:05:44 +01:00
Daniel Marjamäki
dfba4b7332
Fixed #2585 (segmentation fault of cppcheck (CheckOther::clarifyCalculation))
2011-02-17 21:30:59 +01:00
Daniel Marjamäki
cf2a04377e
Fixed #2586 (segmentation fault of cppcheck (template<>))
2011-02-17 21:15:17 +01:00
Daniel Marjamäki
96c3ab87f2
astyle formatting
2011-02-17 21:07:45 +01:00
Greg Hewgill
e2581da30c
Merge branch 'unmatched-suppressions'
2011-02-17 21:46:43 +13:00
Greg Hewgill
a4de6a3455
be sure to list unmatched suppressions only for the currently processed file
2011-02-17 21:46:14 +13:00
Daniel Marjamäki
53aaf22633
CheckClass::noMemset: Added TODO test case
2011-02-16 21:31:35 +01:00
Daniel Marjamäki
54e0b60cc5
Fixed #2584 (false positive 'variable n is never used')
2011-02-16 20:33:24 +01:00
Greg Hewgill
5d74325015
implement unmatchedSuppression information message
2011-02-16 23:02:37 +13:00
Raphael Geissert
5998ec4af9
Really fix the build failure this time
2011-02-15 14:10:56 -06:00
Robert Reif
218464df89
fix #2580 (false postive with Unused private function)
2011-02-14 19:50:13 -05:00
Daniel Marjamäki
0ed0d07714
Tokenizer::simplifyCalculations: basic handling of bitwise operators
2011-02-14 20:43:26 +01:00
Robert Reif
cdd8d3f785
Really fix #2348 perl-tk
2011-02-13 19:02:57 -05:00
Daniel Marjamäki
aacb94c427
Revert "Buffer overruns: Removed TODO test case. We intentionally don't check struct/class arrays fully to avoid false positives"
...
This reverts commit 87cc42e6f0
.
2011-02-13 22:48:26 +01:00
Daniel Marjamäki
0d2d0c864a
Tokenizer::simplifyKnownVariables: Fixed TODO testcases (better handling of comparisons)
2011-02-13 22:24:45 +01:00
Daniel Marjamäki
2182ede486
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of ^)
2011-02-13 22:13:19 +01:00
Daniel Marjamäki
472d8154ca
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of |)
2011-02-13 22:09:04 +01:00
Daniel Marjamäki
467c984cd1
Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of %)
2011-02-13 22:03:46 +01:00
Daniel Marjamäki
87cf0949f2
Buffer overruns: Removed TODO test case. We intentionally don't check struct/class arrays fully to avoid false positives
2011-02-13 21:48:13 +01:00
Daniel Marjamäki
87cc42e6f0
Buffer overruns: Removed TODO test case. We intentionally don't check struct/class arrays fully to avoid false positives
2011-02-13 21:42:35 +01:00
Robert Reif
c03ace7378
Fix #2579 (segmentation fault of cppcheck)
2011-02-13 14:11:22 -05:00
Daniel Marjamäki
d8da1ac390
Merge branch 'suppress-glob' of https://github.com/ghewgill/cppcheck into ghewgill-suppress-glob
2011-02-13 18:17:44 +01:00
Daniel Marjamäki
8c5ec0df7d
Merge branch 'preprocessor' of https://github.com/ghewgill/cppcheck into ghewgill-preprocessor
2011-02-13 18:13:35 +01:00
Greg Hewgill
a4fd5e873e
change failing tests into TODO_ASSERT_EQUALS
2011-02-13 20:45:04 +13:00
Robert Reif
2aefa5deb5
fix #2577 (segmentation fault of cppcheck)
2011-02-12 15:35:48 -05:00
Daniel Marjamäki
518a495334
Fixed #2576 (False positive: (error) Buffer access out-of-bounds)
2011-02-12 18:34:12 +01:00
Daniel Marjamäki
07e8325e50
Fixed #2549 (segmentation fault of cppcheck)
2011-02-12 16:51:59 +01:00
Daniel Marjamäki
7507f64ee7
Fixed #2558 (false positive: (error) Returning reference to auto variable)
2011-02-12 15:39:26 +01:00
Daniel Marjamäki
2657d36d03
Fixed #2502 (False positive: redundant assingment of object to itself)
2011-02-12 14:27:07 +01:00
Daniel Marjamäki
ee0f5ff7b3
Uninitialized variables: Added TODO test case
2011-02-12 12:42:16 +01:00
Daniel Marjamäki
318f2e8a57
Fixed #2561 (False positive on array index when using conditional operator)
2011-02-12 11:31:10 +01:00
Raphael Geissert
d8119cd57a
Fix test for architectures where char is unsigned
2011-02-12 02:42:31 -06:00
Robert Reif
78b5361ec8
fix #2568 (False positive: (style) Union 'A_t' hides typedef with same name (forward declaration))
2011-02-11 19:09:24 -05:00
Sébastien Debrard
f5ed52b84b
fix #2569 check postfix increment on boolean
2011-02-11 23:38:23 +01:00
Erik Lax
c7821675dd
Preprocessor: Test handling of strings with multiple spaces (Ticket: #2548 )
2011-02-11 18:57:58 +01:00
Greg Hewgill
f2f2d1f885
Fixed #2571 (Preprocessor: better handling for #undef)
2011-02-11 18:51:22 +01:00
Greg Hewgill
751f8d46e5
Fixed #2570 (Preprocessor: #define parsing when there is no whitespace between a macro symbol and its double-quoted string expansion)
2011-02-11 18:01:27 +01:00
Robert Reif
b8c5426bb8
fix #2567 Unused private function when implemented in different file
2011-02-11 08:00:41 -05:00
Erik Lax
b3e8ef9d48
Fixed #2559 (Refactoring Preprocessor::read)
2011-02-11 06:30:42 +01:00
Daniel Marjamäki
90bf801c83
Visual Studio 2010: Updated project files for cli and test
2011-02-10 22:10:45 +01:00
Daniel Marjamäki
ce9f9ee6c6
Visual Studio 2008: Updated project files for cli and test
2011-02-10 22:08:10 +01:00
Reijo Tomperi
a71204b8e3
Change "tinyxml/tinyxml.h" includes into <tinyxml.h> and modify dmake to work with it.
...
This should allow usage of libtinyxml-dev or such libraries without modifications to code or makefile.
2011-02-10 22:35:48 +02:00
Robert Reif
2900d44ff0
#2560 (False positive: The class 'Altren' does not have a constructor, because base class is in namespace.)
2011-02-10 07:37:55 -05:00
Daniel Marjamäki
5175e4ff3f
Fixed #2535 (false positive: (style) Variable 'A' is not assigned a value)
2011-02-09 19:20:44 +01:00
Robert Reif
7502cea4d3
Fixed #2554 (simplifyTypedef: wrong simplification for sizeof(array))
2011-02-08 19:47:14 -05:00
Daniel Marjamäki
56ae77ba87
Fixed #2555 (Cppcheck 1.47 - Crash on WinMerge-Trunk (Win7 x64))
2011-02-08 20:18:15 +01:00
Erik Lax
aeae5a867d
Fixed #2550 (Bad substr/strncmp comparison)
2011-02-08 19:49:29 +01:00
Greg Hewgill
7a219b1fb8
support wildcard characters * and ? in suppression list
2011-02-09 00:19:57 +13:00
Greg Hewgill
38986302e9
failing test for suppression glob
2011-02-09 00:19:56 +13:00
Greg Hewgill
c0d3e002a9
preprocessor check for #define A 0
2011-02-08 21:02:15 +13:00
Robert Reif
1e0d538273
checkautovariables: refactor to use the symbol database
2011-02-07 19:26:34 -05:00
Daniel Marjamäki
7c9e52546d
Fixed #2552 (preprocessor check XX is already guaranteed to be defined -- too eager?)
2011-02-07 20:26:29 +01:00
Zachary Blair
daa04872a0
Merge branch 'master' of github.com:danmar/cppcheck
2011-02-06 01:31:09 -08:00
Daniel Marjamäki
26f017e9c6
scripts: added tabs.pl - in my opinion it is bad to use tabs inside string constants. spaces or \t should be used instead.
2011-02-05 12:53:28 +01:00
Zachary Blair
8a494cf8bb
Fixed #2388 (Use throw without argument to rethrow exceptions)
2011-02-05 01:11:09 -08:00
Robert Reif
95e917b27f
Tokenizer: Replace __null with 0 (gcc constant)
2011-02-05 09:03:31 +01:00
Robert Reif
c592ccd35d
Fixed #2547 (segmentation fault of cppcheck)
2011-02-05 08:59:59 +01:00
Daniel Marjamäki
5640845a17
Fixed #2498 (False positive: redundant assignment)
2011-02-04 21:08:42 +01:00
Daniel Marjamäki
dbc5929fa2
Fixed #2503 (false positive: memory leak (struct member, address is taken))
2011-02-04 20:41:35 +01:00
Robert Reif
f87056fca3
Fixed #2539 (segmentation fault of cppcheck)
2011-02-04 20:19:49 +01:00
Daniel Marjamäki
447d29938e
Fixed #2544 (XML output does not specify encoding used)
2011-02-04 20:14:19 +01:00
Daniel Marjamäki
39c68e12ce
Fixed #2533 (false positive: (error) Uninitialized variable: cBuffer)
2011-02-03 22:29:32 +01:00
Daniel Marjamäki
398190460f
astyle formatting
2011-02-03 22:20:59 +01:00
Kimmo Varis
85187dca07
Update VS 2008/2010 project files for tests.
2011-02-03 17:53:50 +02:00
Kimmo Varis
2d6d8580d7
Allow to exclude filenames (with paths).
...
This expands the CLI exclude feature to also allow excluding
filenames (with paths). When filename with recognized extension
is given to -i option then matching filenames (with paths) are
ignored when checking.
Ticket #2538 (Allow excluding files from the checking)
2011-02-03 14:43:42 +02:00
Kimmo Varis
9b9b9c99f5
Add test for XML format version 2.
2011-02-03 09:44:23 +02:00
Kimmo Varis
f65fa338a5
Tighten the directory name mathing with -i.
...
Only match full directory names as parts of whole paths. So -isrc
matches src/file.cpp and proj/src/file.cpp. But does not match
mysrc/file.cpp or proj/srcfiles/file.cpp.
2011-02-03 09:01:43 +02:00
Robert Reif
e9ec4bc3e4
Fixed #2536 (cppcheck hangs with 100% cpu load)
2011-02-03 07:58:49 +01:00
Robert Reif
8288c28b3f
Fixed #2537 (segmentation fault of cppcheck)
2011-02-03 07:57:10 +01:00
Kimmo Varis
bacb234534
Add testsymboldatabase.cpp to test.pro.
...
Also add comment explaining omitting testfilelister_unix.cpp.
2011-02-02 22:52:47 +02:00
Kimmo Varis
ffc4bb481b
Merge branch 'ignore-paths-cli'
2011-02-02 21:09:22 +02:00
Raphael Geissert
d592250284
Fix sizeof sizeof check to handle sizeof(sizeof type)
2011-02-02 11:49:32 -06:00
Daniel Marjamäki
9a383388be
xml2: added <errors> element
2011-02-02 18:46:07 +01:00
Daniel Marjamäki
26b21a5ae0
Merge branch 'sorted-instances'
2011-02-02 18:35:42 +01:00
Kimmo Varis
84a988ec50
Update VS2008/VS2010 project files.
2011-02-02 14:37:48 +02:00
Kimmo Varis
3fc0d0f03e
Run dmake to update Makefile.
2011-02-02 14:36:45 +02:00
Kimmo Varis
6401271ceb
Add CLI support for ignoring paths.
...
Add support for giving list of ignored paths from CLI. This way
user can define paths one doesn't want to check (like generated
code). This first simple implementation only does exact matching,
no support for wildcards etc. And matching is always agains dir
names.
If the filtered dir name is part of the checked filename then the
file is ignored.
Ticket #1690 (Ability to exclude files and directories from checks)
2011-02-02 14:34:04 +02:00
Kimmo Varis
1da88de932
Imrove --xml-version option parsing.
...
Allow --xml-version parsing to recognize also version 1 and print
errors about invalid values.
2011-02-02 14:04:50 +02:00
Kimmo Varis
1118b132b9
Add couple of tests for xml-version cmd line option.
2011-02-02 13:33:57 +02:00
Greg Hewgill
c3ad3f78e9
test case to check whether instances are sorted
2011-02-02 22:58:24 +13:00
Robert Reif
8eb92001b3
Fixed #2530 (Tokenizer: Remove redundant 'MyClass::' inside MyClass class declaration)
2011-02-02 07:40:08 +01:00
Daniel Marjamäki
defeded4b5
Fixed #2529 (False positive: array 'req[3]' index 4 out of bounds)
2011-02-01 21:46:07 +01:00
Pete Johns
2d1ccad44e
Turned failing ASSERT_EQUALS into TODO_ASSERT_EQUALS.
2011-02-01 19:55:39 +11:00
Pete Johns
d2b6dc210b
Merge https://github.com/ghewgill/cppcheck
2011-02-01 19:52:44 +11:00
Greg Hewgill
dcc0f28f34
check that misused scope object does not pick nested class
2011-02-01 08:07:41 +13:00
Daniel Marjamäki
202c8eb4a0
Fixed #2525 (False positive 'Possible null pointer dereference')
2011-01-31 17:30:27 +01:00
Daniel Marjamäki
757c840633
astyle formatting
2011-01-31 17:26:07 +01:00
Ettl Martin
f3111b541e
#2528 added todo-testcase
2011-01-31 13:46:51 +01:00
Raphael Geissert
66253af1e5
Handle "#endif !defined" conditionals
2011-01-30 17:33:44 -06:00
Raphael Geissert
b944168bdc
Check for cpp conditionals where a define is already guaranteed
2011-01-30 12:47:17 -06:00
Pete Johns
098f0bf3e6
Fixed #2526 (Make TODO_ASSERT_EQUALS take three arguments (value, to_be, as_is)?...
...
Removed replaced EXPECTED with...
WANTED (to-be): The future expected value.
CURRENT (as-is): Documenting how cppcheck behaves now.
This removes the need for an ASSERT_EQUALS but enforces the check for every TODO_ASSERT_EQUALS.
2011-01-30 23:20:11 +11:00
Raphael Geissert
49848fd752
Remove duplicated defines
...
After simplifying define(A) conditionals, the final list of
configurations could end up containing duplicate items.
Ticket #1468
2011-01-30 02:13:32 -06:00
Robert Reif
09998d9e18
Memory leaks: less conservative checking of classes. ticket: #2517
2011-01-30 08:38:20 +01:00
Daniel Marjamäki
49fc53165c
Tokenizer: remove some unhandled macros in the global scope. ticket: #2523
2011-01-30 08:34:58 +01:00
Kimmo Varis
b9a0e10b9a
Several fixes to cmd line tests.
...
There were several tests handling two parameters as one string.
Eg. "-I path" which doesn't work correctly. Fixed these
problematic tests.
2011-01-29 19:18:47 +02:00
Kimmo Varis
d334a02801
Make --exitcode-suppressions option consistent.
...
The --exitcode-suppressions option was inconsistent with other
long options by taking the filename as separate argument. Now
it expects format --exitcode-suppressions=filename.txt like
other long options.
Ticket: #1837 (--suppresions file.txt inconsistent)
2011-01-29 19:18:47 +02:00
Daniel Marjamäki
a299411a82
Tokenizer: Better simplifications of static constants
2011-01-29 16:14:09 +01:00
Kimmo Varis
081e364298
Rename --suppressions-list CLI option.
...
The option --suppressions-list was inconsistent with other options
so renaming it to --suppressions-list.
Ticket: #1837 (--suppresions file.txt inconsistent)
2011-01-28 13:26:43 +02:00
Daniel Marjamäki
83625d8055
Fixed #2505 (Check processing of a preprocessor macro 'FREE')
2011-01-28 09:19:30 +01:00
Robert Reif
79862573ba
Symbol database: better unit testing. ticket: #2468
2011-01-28 08:33:02 +01:00
Daniel Marjamäki
88abeeebba
Fixed #2518 (Crash when checking rockbox's firmwire)
2011-01-27 21:16:25 +01:00
Daniel Marjamäki
524498e439
Tokenizer: collapse operator function names into a single token. ticket: #2519
2011-01-27 18:44:20 +01:00
Kimmo Varis
090436ea95
Add cmd line parser tests for XML ver 2 options.
2011-01-27 14:25:10 +02:00
Kimmo Varis
a794edd934
Don't stop processing cmd line after --errorlist.
...
Ticket #2441 (Parsing of command line arguments breaks after --errorlist)
Instead of stopping processing command line options after
--errorlist process them all. This way e.g. --verbose can be given
also after the --errorlist.
2011-01-27 11:14:08 +02:00
Sébastien Debrard
3e7f29d6f9
fix #2510 Improve check 'sizeof for array given as function argument'
2011-01-26 20:08:06 +01:00
Sébastien Debrard
e82c190429
Merge branch 'master' of https://github.com/danmar/cppcheck
...
Conflicts:
test/testother.cpp
2011-01-25 10:05:03 +01:00
Sébastien Debrard
4cf56dac2b
Fix 2495 incorrect sizeof error message
2011-01-25 09:57:58 +01:00
Daniel Marjamäki
a596a7a8fe
Fixed #2494 (New check: clarify calculation when using ?: operator)
2011-01-24 21:40:49 +01:00
Sébastien Debrard
c7b8bd543f
fix ticket 155 - char array
2011-01-24 19:04:56 +01:00
Daniel Marjamäki
c04107131b
when using TODO_ASSERT_EQUALS it's a good idea to pair it with a ASSERT_EQUALS
2011-01-23 14:34:26 +01:00
Daniel Marjamäki
b10f0aabd6
Fixed #2376 (simplifyTypedef: upx-ucl)
2011-01-23 09:04:34 +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
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
bc31f317bc
Fixed #2491 (Tokenizer::setVarId : wrong handling of function call: 'a(b * c, 1);')
2011-01-22 09:27:16 +01:00
Ettl Martin
a83aced2ec
fixed uninitialized members in tests
2011-01-21 23:48:42 +01:00
Robert Reif
767e01e24a
Fixed #2478 (Crash when trying to analyze files (CheckClass::checkReturnPtrThis))
2011-01-21 19:54: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
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
b1b8ea6457
added unit test for #2482
2011-01-19 20:41: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
Kimmo Varis
0cacc7fe4d
Update Visual Studio project files.
...
Update Visual Studio 2008/2010 project files after moving filelister*
files from lib/ to cli/.
2011-01-18 20:55:17 +02: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
Pete Johns
75767705c7
Added testDoesNotIdentifyCallback for #2480
...
TODO
2011-01-18 21:50:22 +11:00
Pete Johns
0e1bab6dc3
Merge branch 'multi_indirection_templates'
2011-01-18 21:08:04 +11:00
Pete Johns
abfd907763
Made isVariableDeclarationIdentifiesTemplatedPointerToPointerVariable() pass.
...
And added isVariableDeclarationIdentifiesTemplatedArrayVariable() (passing) into the bargain.
2011-01-18 20:14:12 +11:00
Pete Johns
69d4db714e
Added TODO test cases for template variables with multiple levels of pointer indirection
...
Following email from Robert Reif
2011-01-18 18:29:42 +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
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
Kimmo Varis
bd5e9e5309
Improve checking -D arguments for command line.
2011-01-17 21:19:27 +02:00
Kimmo Varis
6dd16d3919
Fix crash when giving -D without argument.
...
Fixes ticket #2476 (Crash when -D used without parameters.)
2011-01-17 21:03:22 +02: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
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
e6a1efa13b
Fixed #2302 (Duplicate id 'unusedVariable')
2011-01-16 18:45:05 +01:00
Daniel Marjamäki
61aa86f201
testcppcheck: check that Cppcheck::getErrorMessages output is not empty
2011-01-16 17:07:12 +01:00
Daniel Marjamäki
f50971a65a
testcppcheck: test Cppcheck::getErrorMessages
2011-01-16 17:06:07 +01:00
Daniel Marjamäki
615c92c83b
testcppcheck: cleanup
2011-01-16 16:45:00 +01:00
Daniel Marjamäki
483e50d5bc
testcppcheck: removed 'parseArgsAndCheck' and 'parseOutputtingArgs'. Such tests belong to testcmdlineparser
2011-01-16 16:34:29 +01:00
Daniel Marjamäki
206565c837
testcppcheck: removed nonexistingpath and include tests. The Cppcheck class doesn't handle this.
2011-01-16 16:32:05 +01:00
Daniel Marjamäki
f862b37c71
testcppcheck: the xml and template output is tested in testerrorlogger instead
2011-01-16 16:26:33 +01:00
Daniel Marjamäki
e3e32de22e
testcppcheck: the testcmdlineparser tests invalid command line arguments
2011-01-16 16:22:46 +01:00
Daniel Marjamäki
4661e38c65
testcppcheck: linenumbers are tested in the other tests
2011-01-16 16:21:34 +01:00
Daniel Marjamäki
c841908149
testcppcheck: command line parsing of -D is tested in testcmdlineparser.cpp
2011-01-16 16:19:40 +01:00
Daniel Marjamäki
03ddfcb5b3
testcppcheck: parsing templates is tested in testcmdlineparser.cpp
2011-01-16 16:17:53 +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
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
cf32016444
removed old comment
2011-01-15 08:30:54 +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
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
0b0c46e373
astyle formatting
2011-01-09 18:39:59 +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
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
14cbaebfe2
Fixed #2428 (false alarm with code containing a throw clause)
2011-01-07 20:45:33 +01:00
Robert Reif
5f078da7ad
Fixed #2425 (segmentation fault of cppcheck)
2011-01-07 18:58:14 +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
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
37b1f7c296
memsetZeroBytes: improved error message. ticket: #2421
2011-01-06 16:27:22 +01:00
Daniel Marjamäki
ed71c57f1f
astyle formatting
2011-01-06 12:07:18 +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
Robert Reif
d7e170b3ca
typedef: fixed problem. ticket: #2414
2011-01-06 07:52:59 +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
Robert Reif
157498e694
Fixed #2412 (typedef: struct with inheritance)
2011-01-05 17:42:55 +01: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
2c6421d162
Merge branch 'master' of https://github.com/rgeissert/cppcheck into rgeissert-realloc
2011-01-04 18:21:18 +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
Markus Elfring
e459ed1de3
Fixed #2389 (mistakable warning from 'CheckClass::uninitVarError')
2011-01-03 19:03:42 +01:00
Markus Elfring
3fc0317997
Bug #2390 : Enclose the output of a variable name with quotes in "CheckOther::variableScopeError"
...
The variable name output was enclosed by quotation marks in the member
function "CheckOther::variableScopeError" and corresponding test functions.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2011-01-03 05:15:20 +01:00
Raphael Geissert
3d9550b0bf
Simplify "x = realloc (0, n);" to "x = malloc(n);"
2011-01-02 17:46:10 -06:00
Daniel Marjamäki
d2714fefda
typedef: Fixed testcase. ticket: #2375
2011-01-02 17:28:47 +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
571704f118
Added TODO testcase for ticket #2392 (Preprocessor: Wrong simplification of __VA_ARGS__)
2011-01-02 10:09:50 +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
320604f073
typedef: added more tests. ticket: #2375
2011-01-02 07:42:47 +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
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
3c238882a2
Fixed TODO testcase. Use symbol database instead of token list. Ticket: #2375
2011-01-01 17:54:37 +01:00
Daniel Marjamäki
a9aa6375b7
gcc: disabled -Wconversion again - too many warnings
2011-01-01 09:16:31 +01: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
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
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
Zachary Blair
d11b5163b7
Fixed #2382 (Catching exceptions by value instead of reference)
2010-12-31 03:01:38 -08:00
Daniel Marjamäki
eb59bd5fd6
Added -Wconversion compiler flag. The ASSERT_EQUALS_DOUBLE was added that can be used when comparing double values.
2010-12-30 22:56:53 +01:00
Daniel Marjamäki
8bdb05da6e
Uninitialized variables: typeof doesn't dereference. Ticket: #2367
2010-12-30 21:30:46 +01:00
Daniel Marjamäki
307178d3c2
Tokenizer: Better handling of duplicate enums. Ticket: #2381
2010-12-30 20:55:23 +01:00
Daniel Marjamäki
7ec169f66a
Fixed #2321 (false positive: (performance) Prefer prefix ++/-- operators for non-primitive types.)
2010-12-30 14:27:32 +01:00
Pete Johns
2e61736c73
Refactoring following #2377 (Technically the member function xxx can be const)
...
symboldatabase now recognises variables with arbitrarily many scopes.
Extracted method isVariableDeclaration()
Added unit tests for isVariableDeclaration in new file testsymboldatabase.cpp
Extracted givenACodeSampleToTokenize helper class into testutils.h to reduce duplication.
2010-12-30 19:46:44 +11:00
Pete Johns
5d0ace3a50
Fixed #2377 (Technically the member function xxx can be const)
...
TODO: Add unit test for getVarList() and refactor variable check.
[Removed my testcase for #2377 and removed two TODOs.]
2010-12-30 17:56:28 +11:00
Ettl Martin
ac42c0ba3b
const correctness: added further testcases for increment/decrement member functions
2010-12-30 02:05:44 +01:00
Ettl Martin
7b92378c3a
ticket 2377: added further testcases
2010-12-30 01:44:46 +01:00
Ettl Martin
c29824fc49
added todo testcase for ticket 2377 Technically the member function xxx can be const
2010-12-30 01:29:09 +01:00
Daniel Marjamäki
3d3593e6e7
Fixed #2374 (False 'memory leak' report (assigning to map in subfunction))
2010-12-29 22:18:23 +01:00
Robert Reif
3900ac731e
simplifyTypedef: Better handling of 'typedef int RexxFunctionHandler();'. Ticket: #2348
2010-12-29 20:25:47 +01:00
Robert Reif
3f1f50e970
simplifyTypedef: operator typedef. Ticket: #2375
2010-12-29 20:22:06 +01:00
Daniel Marjamäki
38e7209d26
Fixed #2373 (Using XML2 in --errorlist output)
2010-12-29 12:43:29 +01:00
Robert Reif
137d0e2ba7
typedef: fixed problem with 'typedef int pread_f(int);'. ticket: #2348
2010-12-29 09:18:41 +01:00
Robert Reif
e82b1f8946
typedef: fix typedef simplification. ticket: #2348
2010-12-28 21:21:13 +01:00
Daniel Marjamäki
bdf0cb7115
Fixed #2370 (false negative: Buffer access out-of-bounds (for with if, no break))
2010-12-28 20:46:31 +01:00
Daniel Marjamäki
0667fcf53c
Fixed #2355 (simplifyTypedef: wrong simplification of 'typedef FMAC1 void (*a)();')
2010-12-28 14:04:44 +01:00
Robert Reif
1b92eeae1e
Fixed #2354 (simplifyTypedef: function pointers are not simplified into valid code)
2010-12-28 08:01:32 +01:00
Pete Johns
58ddb3b0ab
Fixed #2360 (testrunner fails to build in Mac OS X Leopard (10.5) - assert macro vs assert method)
...
Renamed assert to assert_.
Tested with gcc v4.0.1 on Snow Leopard.
2010-12-28 09:32:36 +11:00
Daniel Marjamäki
d4e3e7e201
Fixed #2367 (false positive: (error) Uninitialized variable: s)
2010-12-27 21:19:10 +01:00
Daniel Marjamäki
448c03c6e6
Fixed #2367 (false positive: (error) Uninitialized variable: s)
2010-12-27 21:05:33 +01:00
Daniel Marjamäki
92acca3d0c
Fixed #2368 (assigned a value that is never used)
2010-12-27 20:49:07 +01:00
Kimmo Varis
e8b81f909d
Change 'Scope of variable'-message to information message.
2010-12-27 16:48:03 +02:00
Ettl Martin
ccde32b210
Created to testcase ( #2368 ) for assigned a value that is never used false positive
2010-12-27 15:12:17 +01:00
Daniel Marjamäki
3853f93b34
TestClass: addon for 12f28507
, fix a few more error messages.
2010-12-27 08:22:21 +01:00
Daniel Marjamäki
2367cfcf1e
Fixed #2361 (false positive on t[0X10])
2010-12-27 08:09:05 +01:00
Kimmo Varis
12f2850777
Improve the message about const function.
...
See discussion thread:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2010-12-26 23:44:03 +02:00
Kimmo Varis
f5f2a2ce2a
Improve message for container type range check.
...
See thread:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192&start=0
2010-12-26 23:44:02 +02:00
Kimmo Varis
ad89a84796
Improve error message about overlapping buffers for s[n]printf().
...
See forum thread:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192&start=0
2010-12-26 23:44:01 +02:00
Daniel Marjamäki
6aa400fd80
Buffer overrun: UB when pointer arithmetic result points out of bounds. Ticket #1774
2010-12-26 21:23:28 +01:00
Daniel Marjamäki
6178459c15
Fixed #2304 (Tokenizer::simplifyKnownVariables: known strcpy parameter)
2010-12-26 20:34:07 +01:00
Daniel Marjamäki
5f3d2a7e35
Fixed #2090 (False negative: null pointer dereference 's=0; strcpy(s,p);')
2010-12-26 19:29:58 +01:00
Daniel Marjamäki
f4581d833d
Tokenizer: Bailout if @ is encountered in the code
2010-12-26 15:07:14 +01:00
Daniel Marjamäki
243a524909
Fixed #2350 (false positive: possible null pointer dereference)
2010-12-26 13:38:16 +01:00
Daniel Marjamäki
f7a83b4d90
astyle formatting
2010-12-26 13:18:23 +01:00
Pete Johns
64e2c8668c
Fixed #2358 (Compilation fail on Mac)
...
Added test case to prove it works. Not a true unit-test as it accesses the file-system.
2010-12-26 23:04:07 +11:00
Daniel Marjamäki
ecad249ae2
Fixed #2346 (False positive: pointer is assigned value that is never used. used here: 'pCol = pCol->GetNext()')
2010-12-25 19:17:53 +01:00
Daniel Marjamäki
10ee43790d
Fixed #2339 (Tokenizer::setVarId : Wrong handling of 'int gr = id - (TLFPressProperties::OIL_FLUID * nb);')
2010-12-25 12:40:44 +01:00
Daniel Marjamäki
6f8f0e1aa1
Fixed #2353 (Tokenizer::simplifyKnownVariables: wrong simplification after return)
2010-12-25 10:07:57 +01:00
Daniel Marjamäki
81c5576eb4
Misused scope objects: Don't use this check if the checked file is a pure C file. Ticket: #2352
2010-12-25 08:43:52 +01:00
Daniel Marjamäki
335d164cdf
Fixed #2356 (False positive reported with iterator deletion)
2010-12-24 10:33:48 +01:00
Daniel Marjamäki
18fd12006a
Tokenizer::simplifyGoto: Don't simplify 'goto' inside unhandled macro calls. Ticket: #2348
2010-12-23 22:03:58 +01:00
Daniel Marjamäki
472ecd8805
Tokenizer: Fixed calculation simplification of '0*(*p)'. Ticket: #2348
2010-12-23 18:59:18 +01:00
Daniel Marjamäki
aff3623fec
Fixed #2345 (False positive: uninitialized variable (in sub-condition in if inside a loop))
2010-12-23 09:16:29 +01:00
Daniel Marjamäki
be46d453c4
Information: Added new severity
2010-12-22 19:53:17 +01:00
Robert Reif
fc7e2d1ac1
Fixed #2341 (false positive for function pointer returning typedef)
2010-12-22 18:37:23 +01:00
Daniel Marjamäki
00e9822cb3
Fixed #2337 (False Positive: memory leak)
2010-12-22 18:32:00 +01:00
Daniel Marjamäki
f392dbef95
Fixed #2338 (False positive: Deallocating a deallocated pointer)
2010-12-22 08:24:50 +01:00
Daniel Marjamäki
6951c32683
Fixed #2336 (False positive: memory leak (passing pointer to subfunction))
2010-12-21 21:12:45 +01:00
Daniel Marjamäki
0f9415a5fb
Fixed #2330 (unreadVariable error for a fstream object when only extraction operator (>>) is used)
2010-12-21 19:02:00 +01:00
Robert Reif
244974a61a
unused variables: fixed false negatives with the help of the symbol database. ticket: #2317
2010-12-21 08:13:40 +01:00
Daniel Marjamäki
f73cce9eca
Fixed #2317 ((style) Variable is allocated memory that is never used)
2010-12-20 18:31:16 +01:00
Daniel Marjamäki
cdc8801be0
Fixed #2334 (Internal class index function (no need to 'strchr'))
2010-12-20 18:13:26 +01:00
Daniel Marjamäki
02892499d2
Fixed #2286 (Variable 'ownKilled' is assigned a value that is never used)
2010-12-19 18:27:31 +01:00
Daniel Marjamäki
8247270f35
Fixed #2328 (false positive: buffer overrun (for loop with a break => the end value is not reached))
2010-12-19 10:39:43 +01:00
Daniel Marjamäki
afbf5a8ef3
Visual Studio: updated project files with qmake
2010-12-19 07:51:34 +01:00
Daniel Marjamäki
41ac2c252f
Fixed #2325 (Tokenizer: Remove for-loop if condition is false)
2010-12-18 21:43:12 +01:00
Kimmo Varis
67713e47bd
Update test.pro for using base path for included pri files.
2010-12-18 17:07:20 +02:00
Daniel Marjamäki
da15277675
QMake: added test/test.pro
2010-12-18 12:13:11 +01:00
Daniel Marjamäki
8ffc2b0ac6
Tokenizer: better handling for switch/break in the simplifyKnownVariables. Ticket: #2324
2010-12-18 11:14:31 +01:00
Daniel Marjamäki
f6c00fc478
Fixed #2323 (false positive: Buffer access out of bounds)
2010-12-18 10:54:36 +01:00
Daniel Marjamäki
fc9c450eed
Fixed #2320 (false positive: Uninitialized variable: kbuf)
2010-12-18 10:06:21 +01:00
Daniel Marjamäki
7eb9855104
Tokenizer: Remove redundant parantheses in rhs. Ticket: #2320
2010-12-18 09:44:58 +01:00
Daniel Marjamäki
814efb2512
Fixed #2313 (False Positive: memory leak)
2010-12-17 21:34:22 +01:00
Daniel Marjamäki
7050e9610b
checkmemoryleaks: added assertion for todo assertion
2010-12-17 21:30:02 +01:00
Daniel Marjamäki
c2335f845e
Fixed #2306 (False positive: array of std::string is reported as uninitialized)
2010-12-17 21:20:04 +01:00
Daniel Marjamäki
696550abd3
Fixed #2299 (false positive: possible nullpointer dereference)
2010-12-17 21:09:12 +01:00
Daniel Marjamäki
845d1491f9
Fixed #2307 (No constructor defined false positive when class is enclosed in namespace)
2010-12-17 20:56:46 +01:00
Daniel Marjamäki
0cebcc8fa9
Fixed #2300 (false positive: possible nullpointer dereference)
2010-12-16 21:41:50 +01:00
Daniel Marjamäki
49ee1533d9
Fixed #2301 (false positive: The given size 3 is mismatching)
2010-12-16 21:27:33 +01:00
Daniel Marjamäki
2d97189486
Fixed #2311 (False positive: Index out of bounds)
2010-12-16 20:16:59 +01:00
Daniel Marjamäki
eb0231b48f
astyle formatting
2010-12-16 20:15:22 +01:00
Robert Reif
bf136f0123
Fixed #2314 (False positive: (style) Template instantiation 'Foo' hides typedef with same name)
2010-12-16 07:48:46 +01:00
Ettl Martin
a55d7df8a3
test:testpreprocessor.cpp; fixed broken unit test due to wrong charcter encoding
2010-12-15 21:34:31 +01:00
Kimmo Varis
5ac9a7eaa7
Update VS2010 project files for new TinyXml location.
2010-12-15 22:13:31 +02:00
Kimmo Varis
cf46f2ffb9
Update VS2008 project files for new TinyXml location.
2010-12-15 22:05:05 +02:00
vBm
46a11183a5
Fixed some spelling mistakes
2010-12-15 18:45:53 +01:00
Daniel Marjamäki
5ce63a1df0
Fixed #2292 (segmentation fault with cppcheck 1.46 with --errorlist)
2010-12-13 18:17:33 +01:00
Daniel Marjamäki
2d3865a671
Add support for user defined rules
2010-12-12 11:56:22 +01:00
Daniel Marjamäki
69bacde479
Tokenizer: Cleanup redundant statement '; x = x + 0;'. Ticket: #2283
2010-12-09 19:35:52 +01:00
Daniel Marjamäki
ee083cd7a0
Fixed #2284 (False positive: Possible null pointer reference)
2010-12-09 18:17:56 +01:00
Daniel Marjamäki
3918aa4953
memory leaks: fixed test that I broke in my last commit
2010-12-09 06:13:59 +01:00
Daniel Marjamäki
cad9c5f232
Fixed #2285 (False Positive: memory leak)
2010-12-08 21:02:02 +01:00
Robert Reif
980a90071c
Fixed #2282 (Improve check: Function can be const)
2010-12-07 19:42:30 +01:00
Robert Reif
399cc63d2d
Symbol database: adds new tests that verify that namespaces work for the class check
2010-12-07 07:08:05 +01:00
Robert Reif
271d8988aa
Symbol database: fixed a TODO test where class variables were qualified with the class name
2010-12-07 07:07:36 +01:00
Daniel Marjamäki
26864dd011
Memory leaks: Removed the experimental checking using ExecutionPath.
2010-12-06 21:46:18 +01:00
Daniel Marjamäki
0b696b7079
Fixed #2280 (Tokenizer::setVarId : variable id not set for inner iterator)
2010-12-06 17:52:44 +01:00
Kimmo Varis
cdcd3c4a8f
Merge branch 'master' of github.com:danmar/cppcheck
2010-12-05 22:25:45 +02:00
Kimmo Varis
3ab725fa04
Add few tests for ErrorLogger.
2010-12-05 22:23:36 +02:00
Robert Reif
626a814241
Symbol database: better handling of inline functions. Ticket: #2219
2010-12-05 20:26:52 +01:00
Daniel Marjamäki
b25e6ff24c
Fixed #2279 ((style) struct of union member is never used)
2010-12-05 18:33:53 +01:00
Robert Reif
c20b8831ee
Fixed #2275 (False Positive: Member variable not initialized in the constructor)
2010-12-04 20:24:13 +01:00
Robert Reif
04b811b74f
Fixed #2273 (False Positive: Member variable not initialized in the constructor)
2010-12-04 17:47:00 +01:00
Daniel Marjamäki
1f1df0645b
Merge branch 'xml2' of github.com:danmar/cppcheck
2010-12-04 14:06:57 +01:00
Kimmo Varis
c6c5fc6a1c
Add tests for remaining CLI options.
2010-12-04 14:13:44 +02:00
Kimmo Varis
d14b5039ce
Improve 'Use x.empty() instead of x.size() for emptiness' warning.
...
Improve the performance warning message as discussed at dev-forum:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192#p926
2010-12-04 10:15:48 +02:00
Kimmo Varis
8369d0ddd6
Improving 'Wrong assignment of auto variable' error message.
...
Improving the error message as discussed at dev-forum:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192&start=0
2010-12-04 09:55:20 +02:00
Robert Reif
758fc85a12
Memory leaks: Determine that some classes are not auto-deallocated. Reduce false negatives. Ticket: #2219 and #1618
2010-12-04 07:29:12 +01:00
Daniel Marjamäki
93ebdca313
Fixed #2264 (False positive: variable assigned value that is never used)
2010-12-03 18:45:49 +01:00
Robert Reif
b29568c81d
Fixed #2271 (Tokenizer: simplify Qt signals and slots)
2010-12-03 08:14:09 +01:00
Robert Reif
2cd8bc74cc
Symbol database: The symbol database has a bug where it can find an out of line constructor when looking for a destructor. Ticket: #2272
2010-12-03 07:35:06 +01:00
Daniel Marjamäki
8118e4755a
Fixed #2263 (False positive: variable assigned value that is never used)
2010-12-02 20:08:05 +01:00
Robert Reif
eda4bcae29
Fixed #2271 (Tokenizer: simplify Qt signals and slots)
2010-12-02 17:41:49 +01:00
Daniel Marjamäki
af80384ae7
xml2: replace --xml2 with --xmlver=2. Ticket: #2106
2010-12-02 17:32:51 +01:00
Robert Reif
1bc8a2b6ba
Fixed #2172 (False positive: struct is not initialized in constructor)
2010-12-02 07:35:01 +01:00
Daniel Marjamäki
12c8eeff2c
xml2: Added experimental --xml2 result format. Ticket: #2106
2010-12-01 21:24:17 +01:00
Robert Reif
f12c0c7ada
Tokenizer: add assert(_settings) to Tokenizer to insure the tokenizer always has settings. Ticket: #2219
2010-12-01 18:00:55 +01:00
Robert Reif
43dcc51752
Fixed #2252 (segmentation fault with enable=all)
2010-11-30 19:52:42 +01:00
Robert Reif
f90236a183
Fixed #2252 (segmentation fault with enable=all)
2010-11-30 19:40:32 +01:00
Daniel Marjamäki
0081800a20
Fixed #2261 (False positive: memory leak)
2010-11-30 19:36:04 +01:00
Daniel Marjamäki
6761765a70
Fixed #2262 (False positive: Resource leak: fd)
2010-11-30 19:14:31 +01:00
Daniel Marjamäki
234b1e0098
Fixed #2265 (False positive: Uninitialized variable: path)
2010-11-30 18:40:36 +01:00
Daniel Marjamäki
065af5c444
Fixed #2251 (False positive: Possible null pointer reference)
2010-11-29 20:30:23 +01:00
Daniel Marjamäki
cdb685c83c
Fixed #2245 (False positive: Possible null pointer dereference)
2010-11-29 20:19:31 +01:00
Daniel Marjamäki
4de64209fb
Fixed #2248 (memory leak : pointer inserted in an object)
2010-11-29 19:53:34 +01:00
Kimmo Varis
f467e3120e
Improve redundant STL container condition -message.
...
Have separate summary and verbose messages. Se discusion at forum:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2010-11-29 20:24:08 +02:00
Kimmo Varis
8d8945ac57
Improve "Assert statement 'varname' -message.
...
Modifying the message so that we have short message and verbose
message. As discussed in dev-forum:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2010-11-29 20:12:21 +02:00
Daniel Marjamäki
add8584612
Fixed #2232 (segmentation fault of cppcheck)
2010-11-29 17:46:10 +01:00
Kimmo Varis
85735e382f
Improve the 'suspicious code sizeof sizeof' -message.
...
As discussed at dev-forum:
https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192
2010-11-28 14:20:46 +02:00
Daniel Marjamäki
00da0adf25
Fixed #2236 (False positive: Assignment to itself)
2010-11-28 11:48:06 +01:00
Daniel Marjamäki
095f725b3c
Fixed #2218 (False positive: Data is allocated but not initialized)
2010-11-27 17:34:54 +01:00
Daniel Marjamäki
03a92582ca
Fixed #2235 (false Resource leak)
2010-11-27 11:09:42 +01:00
Kimmo Varis
2ed14431fe
Ticket #2237 (Too long "short" message about iterator increment)
...
Improve the message for suspicious iterator increment in loop.
2010-11-27 10:57:26 +02:00
Kimmo Varis
837605b05b
Ticket #2239 (Too long "short" message about function parameter passing)
...
Have a proper short message for the parameter passing warning and
improve the message.
2010-11-27 10:46:34 +02:00
Kimmo Varis
9b4b8b2abe
Ticket #2238 (Improve postincrement warning message)
...
Have a proper short message for post ++/-- operators.
Pre ++/-- operators are usually more efficient for non-primitive types.
2010-11-27 10:30:57 +02:00
Kimmo Varis
87b69a10fa
Ticket #2240 (Improve no constructor-message).
...
Improve the message about missing constructor but having class
attributes. Have proper short and long messages.
2010-11-27 10:17:03 +02:00
Daniel Marjamäki
0a744c0c6e
Fixed #2234 (Variable is assigned a value that is never used)
2010-11-25 18:16:11 +01:00
Robert Reif
03b12c5494
Fixed #2230 (segmentation fault of cppcheck)
2010-11-25 07:43:39 +01:00
Robert Reif
08b86e0b7e
Fixed #2228 (False positive: Claims function can be const when it can not be (shared_ptr))
2010-11-25 07:15:33 +01:00
Daniel Marjamäki
fc57e06cdd
Fixed #2226 (segmentation fault of cppcheck)
2010-11-24 18:08:21 +01:00
Daniel Marjamäki
22a4dd2cc3
Fixed #2225 (false positive: variable is assigned a value that is never used '*(stack[0])+=arg')
2010-11-23 20:35:08 +01:00
Robert Reif
1842a122da
reuse symbol database in checkmemoryleak.cpp. ticket: #2219
2010-11-23 18:41:07 +01:00
Robert Reif
f1eef49fcb
Fixed #2221 (segmentation fault of cppcheck)
2010-11-23 07:31:15 +01:00
Daniel Marjamäki
9d88e17c39
Tokenizer::simplifyKnownVariables: Reduce debug-warnings for conditional increment
2010-11-21 13:40:42 +01:00
Daniel Marjamäki
ec6edaee6e
Buffer overflow: Added unit test that makes sure that array index out of bounds is detected inside loop. Ticket: #2199
2010-11-21 12:24:57 +01:00
Zachary Blair
215cb5ac8d
Fixed #2162 (false positive: Mutual exclusion over ||)
2010-11-21 00:06:43 -08:00
Daniel Marjamäki
0fe4249cfc
Fixed #2216 (wrong warning when C++0x keyword delete is used)
2010-11-20 17:20:25 +01:00
Daniel Marjamäki
e8ca76e02e
Fixed #2200 (MathLib: Calculation overflow)
2010-11-20 10:05:33 +01:00
Daniel Marjamäki
9ccc57a455
Fixed #2214 (Improve check: Memory leak not detected when pointer is incremented)
2010-11-20 08:35:23 +01:00
Daniel Marjamäki
fd64a7e683
Mutual exclusion: Disable this check until #2162 is fixed.
2010-11-20 07:43:07 +01:00
Daniel Marjamäki
66c2825b23
Fixed #2210 (False positive: buffer overrun (snprintf, unknown type))
2010-11-18 19:26:46 +01:00
Daniel Marjamäki
aa653fe42b
Uninitialized variables: Fixed simple undetected case for '= %var% |' and '| %var% ;'
2010-11-16 20:16:44 +01:00
Daniel Marjamäki
35c72db251
Uninitialized variables: Fixed simple undetected case for '= %var% -'
2010-11-16 20:07:41 +01:00
Daniel Marjamäki
cbdae275ed
Uninitialized variables: Fixed false negative. Ticket: #2207
2010-11-16 20:01:57 +01:00
Robert Reif
77a5d4e399
Fixed #2204 (False positive when using const class members)
2010-11-16 07:30:55 +01:00
Ettl Martin
379daa3f24
fixed: wrong testcase from my last commit im testmathlib.cpp
2010-11-15 22:12:25 +01:00
Ettl Martin
88cc29ea0a
mathlib: added todo testcases for ticket #2200
2010-11-15 21:03:49 +01:00
Daniel Marjamäki
29bb553782
Fixed #2207 (False positive: uninitialized variable (return if uninitialized))
2010-11-15 20:35:01 +01:00
Daniel Marjamäki
d250cb5aa2
Fixed #2206 (False positive: variable is assigned a value that is never used (array initializers))
2010-11-15 17:53:55 +01:00
Daniel Marjamäki
7b3e7f6467
Fixed #2205 (False positive: variable is assigned a value that is never used (assigning to dereferenced casted pointers))
2010-11-15 17:30:07 +01:00
Daniel Marjamäki
6d1c0687c9
Fixed #2202 (false postive: Data is allocated but not initialized: rbdc)
2010-11-15 17:11:08 +01:00
Zachary Blair
36d80d6eaa
Fixed #2058 (Warn for unused variable when only doing malloc/free)
2010-11-14 17:37:36 -08:00
Daniel Marjamäki
378e83e73d
Fixed #2201 (false positive: Uninitialized variable: __v0)
2010-11-14 17:35:22 +01:00
Kimmo Varis
41f06cef69
Update VS2010 solution/project files.
2010-11-14 11:04:45 +02:00
Daniel Marjamäki
71c1ce71ce
Tokenizer::simplifyKnownVariables: Simplify known variables for struct members
2010-11-13 18:45:35 +01:00
Daniel Marjamäki
723570fe6c
Tokenizer: added assertions to check that no debug messages are given.
2010-11-13 17:40:57 +01:00
Daniel Marjamäki
667cc8f6e5
Tokenizer: Skip debug warnings in Tokenizer::simplifyKnownVariables for loop variable
2010-11-13 16:40:04 +01:00
Daniel Marjamäki
5e93281310
Tokenizer: Added TODO test cases for splitting up variable declarations
2010-11-13 15:45:33 +01:00
Daniel Marjamäki
3d195f2326
Auto variables: improved the check for 'return retval.c_str()'. Ticket: #2191
2010-11-13 15:38:21 +01:00
Daniel Marjamäki
47d37e7a05
Uninitialized variables: Fixed false negatives when calling unknown function with uninitialized variable by value: 'f(a+1)'
2010-11-13 15:10:17 +01:00
Daniel Marjamäki
85cafb2035
Visual Studio 2008: Added lib/symboldatabase files
2010-11-13 12:28:49 +01:00
Daniel Marjamäki
bf15236b9e
Fixed #2196 (False positive: Invalid data is allocated but not initialized (initialization in loop))
2010-11-13 10:33:35 +01:00
Daniel Marjamäki
3303c40879
uninitialized variables: fixed problem when parsing loop bodies
2010-11-13 08:03:59 +01:00
Daniel Marjamäki
f7ca4f09ef
Fixed #2151 (false negative: memory leak when calling subfunction that doesn't deallocate the memory)
2010-11-12 21:09:34 +01:00
Daniel Marjamäki
a8d7ac0f0d
Fixed #2193 (false negative: nullpointer dereference)
2010-11-12 19:42:02 +01:00
Daniel Marjamäki
9d7a623985
Uninitialized variables: Passing uninitialized array as parameter to function. Ticket: #2188
2010-11-12 17:38:25 +01:00
Daniel Marjamäki
e523d5a3a3
Fixed #914 (improve check: usage of uninitialized variable)
2010-11-12 17:14:37 +01:00
Daniel Marjamäki
1204043556
Fixed #2148 (uninitialized variable: false negative, function parameter that is passed by value)
2010-11-12 17:06:14 +01:00
Daniel Marjamäki
6b489230e8
Fixed #2188 (Does not detect initialization)
2010-11-12 16:11:44 +01:00
Daniel Marjamäki
ba7a3b376e
Fixed #2167 (Drop linefeeds from error messages)
2010-11-11 19:54:43 +01:00
Daniel Marjamäki
0328d26fcb
Fixed #2192 (false positive: resource leak)
2010-11-11 17:40:20 +01:00
Robert Reif
07f4067fa8
typedef: better handling of __typeof__
2010-11-11 17:02:04 +01:00
Robert Reif
a09c221014
typedefs: handle __typeof__
2010-11-11 06:40:49 +01:00
Daniel Marjamäki
624ce205b9
Fixed #2185 (False negative: when constant is undefined a 'dangerous usage of strncpy' is not found)
2010-11-10 20:20:05 +01:00
Daniel Marjamäki
41bbe5d0cf
Fixed #2182 (Context sensitive false positive)
2010-11-10 18:24:40 +01:00
Daniel Marjamäki
28c53cabea
Fixed #2184 (False Positive: memory leak)
2010-11-10 17:46:40 +01:00
Daniel Marjamäki
508c171945
Symbol database: add support for class inline functions with classes
2010-11-09 17:06:07 +01:00
Robert Reif
36b03bdd3e
Fixed #2179 (Segmentation fault in assignment operator)
2010-11-09 06:58:19 +01:00
Daniel Marjamäki
c2bf3647a4
Fixed #2178 (segmentation fault of cppcheck)
2010-11-08 19:47:19 +01:00
Daniel Marjamäki
586f4992d8
Tokenizer::simplifyKnownVariables: Fixed TODO test cases in TestBufferOverrun
2010-11-07 17:42:32 +01:00
Daniel Marjamäki
cd94fa89e0
Tokenizer: More specific bail outs in simplifyKnownVariables
2010-11-07 11:07:56 +01:00
Daniel Marjamäki
b881718d9f
Tokenizer: better bailout in simplifyKnownVariables when there is loop
2010-11-07 10:42:08 +01:00
Daniel Marjamäki
fb068a4e71
Fixed #2170 (false positive: After a strncpy() the buffer should be zero-terminated)
2010-11-07 09:37:45 +01:00
Daniel Marjamäki
bd2b1b2914
Tokenizer: better handling of const variables
2010-11-07 08:43:30 +01:00
Daniel Marjamäki
25391cb562
Tokenizer: Bailout simplifyKnownVariables for loop variables
2010-11-07 08:10:09 +01:00
Robert Reif
662cd27f87
Symbol database: fixed problem
2010-11-06 20:27:12 +01:00
Daniel Marjamäki
5be12a1d27
Tokenizer: improved simplifyKnownVariables
2010-11-06 19:43:32 +01:00
Robert Reif
8a379d4826
Fixed #2176 (Tokenizer::simplifyTypedef function pointer bug)
2010-11-06 15:15:50 +01:00
Robert Reif
c49a8a99a3
Fixed #2175 (Tokenizer::simplifyTypedef : wrong simplification of 'typedef float vec_t[3];')
2010-11-06 13:28:44 +01:00
Daniel Marjamäki
c39fbb86db
Tokenizer::simplifyKnownVariables : Fixed TODO test case when simplifying pointer alias in function call
2010-11-06 13:24:33 +01:00
Daniel Marjamäki
13c2a73d3f
Tokenizer::simplifyKnownVariables: Fixed TODO test case.
2010-11-06 11:38:58 +01:00
Daniel Marjamäki
694853249f
Refactoring: Added ASSERT_EQUALS above TODO_ASSERT_EQUALS to catch changes in the behaviour better
2010-11-06 11:08:05 +01:00
Daniel Marjamäki
e901ee2e68
Added TODO unit test for ticket #2175 . simplify 'typedef float x[3];'
2010-11-06 09:31:43 +01:00
Daniel Marjamäki
dd41c74d7f
Fixed #2136 (false negative: array bounds)
2010-11-06 09:10:10 +01:00
Daniel Marjamäki
314e5b838b
Tokenizer: removed redundant assignments such as 'x+=0;'. Ticket: #2173
2010-11-06 07:23:35 +01:00
Robert Reif
431201dd67
Fixed #2174 (Tokenizer::simplifyFunctionReturn bug)
2010-11-06 06:53:09 +01:00
Daniel Marjamäki
52faadda89
Tokenizer: simplify calculations with zero better
2010-11-05 20:35:31 +01:00
Daniel Marjamäki
4fdb420454
Tokenizer: simplifyknownvariables, improved handling of string constant
2010-11-05 20:05:57 +01:00
Daniel Marjamäki
65c7b6eb8b
Uninitialized variables: better handling of for example 'a[1] = 1+a[2];'
2010-11-05 19:24:14 +01:00
Daniel Marjamäki
a90a7202cb
Uninitialized variables: detect usage of dead pointer: '*p += 10'
2010-11-05 17:04:41 +01:00
Daniel Marjamäki
95bfa50d7e
Null pointers: Fixed false negatives in the CheckAndDeRef checking
2010-11-04 21:22:29 +01:00
Daniel Marjamäki
f3bf14ba13
Fixed #2171 (false positive: possible nullpointer dereference)
2010-11-04 21:09:32 +01:00
Daniel Marjamäki
d21974777c
Fixed #2161 (false positive: assigned a value that is never used)
2010-11-04 20:16:17 +01:00
Daniel Marjamäki
fce6f11ed8
Tokenizer: simplify 'a[b-1]+=1' better
2010-11-04 19:02:54 +01:00
Daniel Marjamäki
c29940b114
Fixed #2166 (false positive: possible null pointer dereference)
2010-11-04 18:18:19 +01:00
Robert Reif
bc8ecf2aa7
Fixed #2168 (Segmentation fault of cppcheck)
2010-11-04 17:54:04 +01:00
Zachary Blair
10a4dde105
Fixed #2137 (Invalid mutual exclusion report)
2010-11-04 00:10:25 -07:00
Robert Reif
003f99da82
Symbol database: Fixed bug. Ticket: #2149
2010-11-04 06:58:37 +01:00
Robert Reif
cf0403434d
Symbol database: Bug fix
2010-11-03 20:33:07 +01:00
Daniel Marjamäki
c0100bac94
Tokenizer: Added TODO test case for better handling of function calls
2010-11-03 20:13:34 +01:00
Daniel Marjamäki
1323cbdb6d
Fixed #2160 ( #2160 (Invalid unused variable report (style)))
2010-11-03 19:30:00 +01:00
Daniel Marjamäki
14803643ca
empty string test: Removed this check
2010-11-03 17:56:14 +01:00
Daniel Marjamäki
19f809c9b4
Unused variables: better handling of '= %var% ++'. Ticket: #2160
2010-11-02 20:01:12 +01:00
Daniel Marjamäki
dd4b2b8b46
Tokenizer: simplify 'x[0] += 1;'
2010-11-02 19:22:48 +01:00
Robert Reif
0fe72839d8
Symbol Database: Better handling of namespaces. Ticket: #2149
2010-11-02 18:30:57 +01:00
Daniel Marjamäki
c4452effa3
Tokenizer: simplify 'x.y += 1;'
2010-11-01 20:33:55 +01:00
Daniel Marjamäki
1b9de20f9b
Tokenizer: simplify 'case 0: x += y;'
2010-11-01 19:31:30 +01:00
Daniel Marjamäki
94fc13f0c4
Fixed #2159 (False positive: Null pointer dereference 'if (!x) return *y;')
2010-11-01 19:21:08 +01:00
Daniel Marjamäki
3fb17baa12
Fixed #2158 (False positive: value is not unused when using +=)
2010-11-01 17:36:54 +01:00
Kimmo Varis
7e33b8fb9f
Update VS2010 project files.
2010-10-31 22:59:44 +02:00
Daniel Marjamäki
285d76a413
Null pointers: Fixed false positive for 'x && x->y'
2010-10-31 19:48:58 +01:00
Daniel Marjamäki
75776b86a3
Visual Studio 2008: added nullpointer and uninitvar files
2010-10-31 11:52:55 +01:00
Daniel Marjamäki
bc283d8b99
Uninitialized variables: Broke out the checking into separate file
2010-10-31 12:31:11 +01:00
Daniel Marjamäki
df8a93bf97
Null pointers: Broke out the checking into separate file
2010-10-31 11:51:25 +01:00
Daniel Marjamäki
558899dc74
Variable usage: Fixed false negative that I introduced when simplifying compound assignments
2010-10-31 09:34:25 +01:00
Daniel Marjamäki
23d3fd3a5a
Fixed #2147 (uninitialized variable: false negative for 'x += y;')
2010-10-31 08:47:13 +01:00
Daniel Marjamäki
b55f6458a2
Fixed #2120 (False positive: array index out of bounds (unknown type in struct, sub function))
2010-10-30 12:32:43 +02:00
Daniel Marjamäki
7b630cc581
Fixed #2154 (false positive: The loop might unintentionally skip an element in the container)
2010-10-30 11:22:30 +02:00
Kimmo Varis
2d32ce3140
Update VS2010 project files.
2010-10-29 22:48:46 +03:00
Kimmo Varis
aea0cb5f28
Update tests after moving simplifyPath method to Path class.
2010-10-29 22:45:47 +03:00
Daniel Marjamäki
fee20bafa0
Java: Removed bailout added in 120073f000
2010-10-28 18:01:51 +02:00
Daniel Marjamäki
995e39200b
Fixed #2130 (Invalid possible NULL pointer dereference, etc.)
2010-10-27 20:20:10 +02:00
Daniel Marjamäki
fc98bcdcb2
Fixed #2141 (false positive: possible null pointer dereference)
2010-10-27 19:42:47 +02:00
Daniel Marjamäki
fd153eac02
Fixed #2142 (false positive: null pointer dereference (throw))
2010-10-27 19:38:42 +02:00
Robert Reif
b6aca47e11
Fixed #1195 (Uninitialized member variable not detected 'std::vector<int> *ints;')
2010-10-27 19:28:15 +02:00
Robert Reif
5a8f490f07
Fixed #2135 (False positive 'Can be const')
2010-10-27 19:25:34 +02:00
Pete Johns
6649e31514
Fixed test case so that it would compile.
2010-10-27 21:14:40 +11:00
Daniel Marjamäki
a38b14d582
Tokenizer: Remove redundant semi colons
2010-10-26 21:05:20 +02:00
Daniel Marjamäki
79583ee45d
#2133 (cppcheck: floating point exception)
2010-10-26 20:05:34 +02:00
Daniel Marjamäki
6200d4505a
Fixed #2118 (Invalid syntax error report.)
2010-10-26 19:39:48 +02:00
Kimmo Varis
59752f19d6
Add 64-bit targets for VS2008 project/solution files.
...
Since VS2008 Express does not support x64 platform we must create new
configurations named Debug-x64 and Release-x64.
2010-10-26 19:32:07 +03:00
Kimmo Varis
2301b40433
Add x64 build targets for VS 2010.
...
This commit adds new x64-Debug and x64-Release -targets for VS 2010.
To use those targets you need Windows SDK with x64 compiler.
2010-10-26 19:32:07 +03:00
Daniel Marjamäki
9370f552ac
Fixed #2134 (sizeof(*list) complains of null pointer dereference)
2010-10-26 18:26:02 +02:00
Daniel Marjamäki
27235f27ae
Fixed #2129 (Invalid dereference after release report)
2010-10-26 17:49:48 +02:00
Daniel Marjamäki
893f7fa347
Fixed #2130 (Invalid possible NULL pointer dereference, etc.)
2010-10-26 17:40:30 +02:00
Daniel Marjamäki
bdd6d6d53d
null pointer: use simplified token list in the 'check and deref' checking
2010-10-25 21:05:43 +02:00
Daniel Marjamäki
132aa8d0c4
uninitialized variables: fixed fp when analysing loops
2010-10-25 20:56:15 +02:00
Daniel Marjamäki
026514db1a
Fixed #2127 (null pointer dereference after condition (SRD nr 522))
2010-10-25 19:43:54 +02:00
Daniel Marjamäki
41a06a21d9
using deallocated pointer: detect first problem reported in ticket #2090
2010-10-25 17:36:46 +02:00
Zachary Blair
26afb04dc5
Fixed #2105 (Incorrect operator: mutual exclusion over ||)
2010-10-24 18:14:21 -07:00
Daniel Marjamäki
24a2def3ad
Execution Path: Fixed FP in improved handling of loop bodies
2010-10-24 19:14:40 +02:00
Daniel Marjamäki
8f707e5e46
Null pointers: Better handling of loops
2010-10-24 18:51:14 +02:00
Daniel Marjamäki
6601de7681
uninitialized variables: refactoring handling of loop bodies
2010-10-24 18:26:59 +02:00
Daniel Marjamäki
b66d3c8858
Fixed #2125 (uninitialized variable: better handling of for loops)
2010-10-24 18:12:48 +02:00
Daniel Marjamäki
cf86e11d05
Fixed #2111 (Class methods writing to a union are detected as 'can be const')
2010-10-24 16:43:10 +02:00
Kimmo Varis
d605239735
Add missing files to VS2010 project/solution files.
2010-10-24 15:55:36 +03:00
Daniel Marjamäki
306587b1d0
Buffer overruns: Fixed TODO test case
2010-10-24 11:32:27 +02:00
Daniel Marjamäki
381260dfe9
fixed 'deprecated conversion' compiler warning
2010-10-23 16:15:27 +02:00
Daniel Marjamäki
f3c6c64e9a
Fixed #2121 (False positive: Buffer access out-of-bounds when using uint32_t)
2010-10-23 13:12:17 +02:00
Daniel Marjamäki
120073f000
Java: fixed false positives about uninitialized variable
2010-10-23 10:56:30 +02:00
Daniel Marjamäki
5deb046ac5
Fixed #2120 (False positive: array index out of bounds (unknown type in struct, sub function))
2010-10-23 08:49:03 +02:00
Daniel Marjamäki
c907acf767
Fixed #1819 (False positive: auto variable assignment (unseen typedef))
2010-10-22 21:12:56 +02:00
Daniel Marjamäki
9fdc03fc1d
Fixed #2117 (false positive: buffer access out of bounds)
2010-10-22 20:15:51 +02:00
Lauri Nurmi
91e66e74d0
Fixed #2099 (Show an error if none of the given paths was found)
2010-10-22 17:09:50 +02:00
Daniel Marjamäki
5ef02b6c0a
memleak: activated todo test case. ticket: #1401
2010-10-21 22:33:40 +02:00
Daniel Marjamäki
eba827bc4b
Fixed #2112 (Crash scanning qtcreator sources)
2010-10-21 19:42:09 +02:00
Daniel Marjamäki
6a66d32871
JAVA: better handling of java code
2010-10-20 22:15:35 +02:00
Daniel Marjamäki
8b866178ff
Fixed #2103 (false positive when variable is checked to NULL and not freed)
2010-10-20 20:38:37 +02:00
Daniel Marjamäki
68dd2f8378
Fixed #2113 (False positive: Memory leak where a pointer is passed in a struct to another function to be freed)
2010-10-20 18:39:40 +02:00
Daniel Marjamäki
02ba2b202e
Fixed #2110 (Tokenizer::simplifyTypedef: regression - wrong simplification of 'typedef char TString[256];')
2010-10-20 06:09:29 +02:00
Daniel Marjamäki
f8c02718a5
Activated checking of .java and .cs files
2010-10-19 21:54:15 +02:00
Daniel Marjamäki
20674e08d0
Stl: improved check for dangerous usage of c_str
2010-10-19 20:21:58 +02:00
Daniel Marjamäki
2ca7dbc004
Fixed #2109 (false positive: buffer overrun)
2010-10-19 18:23:44 +02:00
Daniel Marjamäki
0864a0700a
Fixed #2108 (False positive: the loop might unintentionally skip an element in the container.)
2010-10-18 20:05:54 +02:00
Daniel Marjamäki
e54129fa8d
STL: check for dangerous usage of string::c_str(). Ticket: #1116
2010-10-17 19:18:46 +02:00
Daniel Marjamäki
92a1e9e76e
Severities: Added 'warning' and 'performance' severities. No changes to the command line options nor to the XML format. Ticket: #2106
2010-10-17 14:41:00 +02:00
Kimmo Varis
0bb6e22d53
Add missing files to VS2010 project files.
2010-10-17 00:16:39 +03:00
Kimmo Varis
00e5ca2299
Add missing files to VS projects.
...
Part of fixing ticket #2101 .
2010-10-17 00:00:53 +03:00
Daniel Marjamäki
0b6948a805
Fixed #2101 (list in vector iterator usage)
2010-10-15 18:11:41 +02:00
Daniel Marjamäki
ba2b986ece
Fixed #2097 (false positive: buffer access out of bounds)
2010-10-14 20:00:32 +02:00
Daniel Marjamäki
e11d9f1628
astyle formatting
2010-10-14 19:59:10 +02:00
Debrard Sebastien
fb928b6778
Fixed #2018 (Postfix Operators)
2010-10-14 19:17:40 +02:00
Daniel Marjamäki
b6c995ea47
Fixed #2096 (False positive: buffer overrun (extern array))
2010-10-13 20:57:59 +02:00
Robert Reif
267d1f273e
Fixed #2082 (Tokenizer::simplifyTypedef: wrong handling of array)
2010-10-13 20:02:37 +02:00
Daniel Marjamäki
229604b3e3
Fixed #2093 (False positive: buffer access out of bounds (unknown type))
2010-10-13 18:06:50 +02:00
Pete Johns
fbd3d92aa9
Fixed #2084 (False positive: object destroyed immediately (struct and function with same name))
...
Tightened up class definition matching so as not to match C-style struct tags.
2010-10-13 20:37:53 +11:00
Robert Reif
a58094e827
Fixed #2089 (False negative: Function can be const (calling const function))
2010-10-13 07:26:41 +02:00
Daniel Marjamäki
2334192bff
Fixed #2087 (False positive: Array 'str[1]' index 1 out of bounds)
2010-10-12 21:52:02 +02:00
Debrard Sebastien
1a4e3dcc44
increment check
2010-10-12 19:54:39 +02:00
Daniel Marjamäki
9e15c4ef38
Fixed #2088 ([test.c:12]: (error) Buffer access out-of-bounds: l)
2010-10-12 19:35:20 +02:00
Robert Reif
907ed0ac6f
Fixed #2085 (False negative: function can be const when member variable is compared)
2010-10-12 07:57:09 +02:00
Daniel Marjamäki
74bf1821e6
Array index: detect array index out of bounds when datatype is unknown. Ticket: #2086
2010-10-11 20:52:14 +02:00
Daniel Marjamäki
3dfcbfc0e0
assignment in assert: modified the error message to better explain the reason why the warning is given.
2010-10-11 17:59:08 +02:00
Zachary Blair
d9967d4fd2
Fixed #2079 (detect side effects in assert)
2010-10-10 13:05:06 -07:00
Daniel Marjamäki
81aed3fbd7
Tokenize: Fixed bug in Tokenize::simplifyKnownVariables
2010-10-10 19:27:42 +02:00
Daniel Marjamäki
f427fdb856
STL: Added TODO test case for the new double-increment check
2010-10-10 17:55:14 +02:00
Daniel Marjamäki
ef4ce6f46b
STL: fixed false positives in the new double-increment check when iterator shadows outer iterator
2010-10-10 14:28:14 +02:00
Daniel Marjamäki
3340010376
fix unit testing
2010-10-10 14:23:05 +02:00
Daniel Marjamäki
ae0528ef59
STL: fixed false positives for the new double-increment check
2010-10-10 11:22:44 +02:00
Daniel Marjamäki
835b511bee
STL: Added double-increment check.
2010-10-10 10:52:41 +02:00
Daniel Marjamäki
a73ada54d5
Fixed #1705 (false negative: access past end of buffer)
2010-10-10 09:15:18 +02:00
Daniel Marjamäki
14f12e0647
Fixed #2078 (false negative: member variable not intialized)
2010-10-10 07:57:26 +02:00
Daniel Marjamäki
a3367874d9
Fixed #1778 (false negative: nullpointer dereference (std::string pointer))
2010-10-09 07:57:34 +02:00
Daniel Marjamäki
068317bed1
STL: Fixed TODO test case TestStl::erase5
2010-10-09 07:15:34 +02:00
Daniel Marjamäki
f2ba1c6171
Unit testing: Added TODO test case TestStl::erase5
2010-10-08 21:52:18 +02:00
Daniel Marjamäki
50603f44eb
Unit testing: activated TODO test
2010-10-08 21:41:52 +02:00
Daniel Marjamäki
e0ba626351
ClassInfo: Removed unused functionality
2010-10-08 19:43:41 +02:00
Robert Reif
24eba7ef02
Unit Testing: Added more typedef tests
2010-10-08 16:00:21 +02:00
Daniel Marjamäki
7b4e08385d
STL: refactoring CheckStl::erase so ExecutionPath is used
2010-10-05 20:54:13 +02:00
Pete Johns
4bf9ff26ea
Fixed 2071 (false positive: object destroyed immediately (when using '= { ... }'))
...
Simplified check within CheckOther::checkMisusedScopedObject() as a result.
2010-10-04 08:16:11 +11:00
Daniel Marjamäki
cd8ef1cded
Revert "temporarily disable the 'object destroyed immediately' message"
...
This reverts commit fa94312c9a
.
2010-10-03 18:05:08 +02:00
Daniel Marjamäki
fa94312c9a
temporarily disable the 'object destroyed immediately' message
2010-10-03 16:59:13 +02:00
Pete Johns
78795dc3ac
Fix false positive: Misused Scope Object does not pick constructors of local class declarations.
...
It does pick up if there is an unused construction within the function, though.
2010-10-02 22:59:04 +10:00
Daniel Marjamäki
e4c3b390cc
Fixed #2069 (cppcheck fails to scan OpenBSDs ftp source code)
2010-10-02 13:28:44 +02:00
Pete Johns
365b1bed1a
Fixed false positive: checkMisusedScopedObject no longer errors on calls to function objects.
2010-10-02 21:25:16 +10:00
Pete Johns
9a9302cba1
Prevent Tokenizer::simplifyCalculations() from removing parantheses from calls to Functors.
2010-10-02 21:19:05 +10:00
Daniel Marjamäki
a58ba811a6
Unit Testing: added missing TEST_CASE
2010-10-02 12:44:38 +02:00
Pete Johns
b72b699b76
Fixed false-positive: Object is referenced on construction
...
struct Foo {
void bar() {
}
};
void fn() {
Foo().bar(); // This caused a false-positive
}
2010-10-02 20:26:29 +10:00
Pete Johns
3f72d3a877
Check misused scope object does not pick local class method.
...
Also fixed mistyped withinFuntion ->withinFunction.
2010-10-02 20:12:52 +10:00
Pete Johns
0017655f55
Added test for functor false-positive [passing]
...
Also removed typedef's following danmar's review and renamed isClassresults -> isClassResults to make more clear.
2010-10-02 18:45:24 +10:00
Daniel Marjamäki
19d67757b1
Visual Studio: updated test/test.vcproj
2010-10-02 09:43:28 +02:00
Daniel Marjamäki
bdb3c06c36
Visual Studio: Fixed compiler error. It seems visual studio 2008 doesn't like 'not'.
2010-10-02 09:42:31 +02:00
Pete Johns
6e0ef3eda2
Fixed #1132 (Detection of misused scope objects in functions)
...
Emits error in the form:
[useless_lock.cpp:18]: (error) instance of "Lock" object destroyed immediately
...if an instance of a class or struct is unnamed and therefore destroyed
straight after creation.
Only checks for misused scope objects within functions.
Optimised isIdentifierObjectType() by memoizing.
2010-10-02 14:22:26 +10:00
Pete Johns
50c2fa9ab0
Revert "Fixed #1132 (Detection of misused scope objects)"
...
This reverts commit c6acdccfa0
.
2010-10-01 20:52:16 +10:00
Pete Johns
c6acdccfa0
Fixed #1132 (Detection of misused scope objects)
...
Emits error in the form:
[useless_lock.cpp:18]: (error) instance of "Lock" object destroyed immediately
...if an instance of a class or struct is unnamed and therefore destroyed
straight after creation.
Removed "internal error" from token.cpp, since in this case varid would be NULL.
2010-10-01 20:30:21 +10:00
Daniel Marjamäki
6eeed00888
Fixed #2067 (Template methods do not 'use' private ones)
2010-09-30 21:22:49 +02:00
Daniel Marjamäki
415cbc63c3
Fixed #2066 (false positive: uninitialized variable when initializing through function pointer)
2010-09-27 19:26:09 +02:00
Daniel Marjamäki
80069f016e
Fixed #2065 (false positive: memory leak)
2010-09-27 17:53:10 +02:00
Pete Johns
6a52538a9a
Fixed #1949 : assert() hides memory leaks
...
Added separate unit-test (trac1949), initially broken to highlight the error and added "assert" to call_func_white_list.
Left TestMemleakInFunction::call_func() as is, as this wouldn't highlight the actual problem.
2010-09-27 20:25:34 +10:00
Pete Johns
a801d3162e
Added Doxygen commenting, per kimmov's request.
...
Of course test/ is not covered currently by the settings in doxyfile.
2010-09-26 19:15:14 +10:00
Pete Johns
afc6d4507d
Removed static std::string.
...
which_test() doesn't have to calculate anything, could be inlined.
2010-09-26 16:52:30 +10:00
Pete Johns
5dc4759598
Replaced TODO in numeric test with two passing tests.
...
Just getting to grips with how the tokenizer behaves.
2010-09-26 16:39:19 +10:00
Pete Johns
acad87c3e3
Improved test coverage.
...
Refactored to extract givenACodeSampleToTokenize, reducing LOC.
2010-09-26 13:31:36 +10:00
Pete Johns
97a68bdcee
Added `check` target.
...
Runs the test as per `make test`, but with less verbosity.
-g GCC-style errors
-q quiet tests
2010-09-26 13:29:23 +10:00
Pete Johns
10396911ca
Renamed RedirectInputOutput -> RedirectOutputError
...
This class does not redirect input.
2010-09-26 13:22:11 +10:00
Pete Johns
77089293c6
Extracted Error and Output redirection.
...
Making reuse possible.
2010-09-26 13:19:30 +10:00
Daniel Marjamäki
86e517c5d3
Fixed #1951 (Preprocessor: Compound macro statements not handled correctly)
2010-09-24 21:38:11 +02:00
Daniel Marjamäki
3f79faac2a
Fixed #2059 (cppcheck gives wrong path in error description)
2010-09-22 19:52:14 +02:00
Kimmo Varis
d0acc16506
Update VS2010 solution/project files.
2010-09-20 18:09:17 +03:00
Daniel Marjamäki
78bd66cd5c
Fixed #2056 (False positive: Resource leak)
2010-09-19 12:16:29 +02:00
Daniel Marjamäki
a6ff3681bb
Fixed #1802 (Preprocessor: macros are expanded wrong)
2010-09-18 22:20:01 +02:00
Daniel Marjamäki
e2ef26cb2e
STL: added TODO test case
2010-09-18 20:08:34 +02:00
Daniel Marjamäki
a7cf68b9ef
Check Class: Removed the 'operator= should not return a const reference'
2010-09-18 20:05:34 +02:00
Daniel Marjamäki
395f10aa6d
Fixed #2053 (false positive on list erase)
2010-09-18 16:46:38 +02:00
Daniel Marjamäki
de3c761790
Fixed #2052 (False positive: possible null pointer dereference 'else continue')
2010-09-18 14:56:07 +02:00
Daniel Marjamäki
334cbbcbf8
removed qmake files for the cli and unit tests
2010-09-18 12:44:52 +02:00
Daniel Marjamäki
554a7fd68e
Visual Studio 2008: Updated the project/solution files
2010-09-18 08:20:02 +02:00
Daniel Marjamäki
75e307e968
updated test/test.pro
2010-09-18 08:09:30 +02:00
Daniel Marjamäki
fce70508f7
Fixed #2045 (False negative: Uninitialized variable (found with gcc))
2010-09-17 20:38:37 +02:00
Daniel Marjamäki
1c3862bd35
Execution Paths: fixed TODO test cases
2010-09-17 19:31:45 +02:00
Daniel Marjamäki
f843678a07
Redundant conditions: some refactorings
...
* removed the 'redundant null pointer' check. sometimes it's unsafe to delete NULL pointer. and this check doesn't point out errors anyway.
* moved the 'redundant condition' check for set::remove. Moved it to CheckStl.
2010-09-16 18:49:23 +02:00
Daniel Marjamäki
7e67bb53b8
Fixed #2049 (False negative: 'Uninitialized variable' error won't show)
2010-09-15 20:04:50 +02:00
Daniel Marjamäki
416f093fc3
Tokenizer: fixed variable declaration simplification
2010-09-15 19:53:47 +02:00
Daniel Marjamäki
42d0ad8262
Fixed #2048 (Preprocessor: ifndef incorrectly simplified)
2010-09-14 17:45:37 +02:00
Robert Reif
0153dccb66
Symbol database: Skip bail out in constructors if a virtual function might be called because that would be undefined behaviour. Ticket: #1895
2010-09-14 07:16:53 +02:00
Daniel Marjamäki
b0bb71ee20
Preprocessor: Handle C++0x rawstrings by replacing them with normal strings. Ticket: #2022
2010-09-13 19:36:40 +02:00
Robert Reif
6de1711515
Symbol database: reduce false negatives for 'uninitialized variable' when calling base class function. ticket: #1895
2010-09-12 22:40:51 +02:00
Daniel Marjamäki
84d9282da2
Memory leaks: remove redundant 'if return ; else|'
2010-09-12 21:41:13 +02:00
Robert Reif
aae2986361
Fixed #2042 (#error messages should be displayed when user defines are used)
2010-09-12 21:30:47 +02:00
Daniel Marjamäki
5a95303405
Memory leaks: reduce 'loop { if continue ;' to 'loop {'
2010-09-12 21:15:19 +02:00
Daniel Marjamäki
9c4a05a3bd
Memory leaks: simplify 'loop { use ; callfunc ; }' to 'use ;'
2010-09-12 20:45:30 +02:00
Daniel Marjamäki
ceeef847ef
Memory leaks: simplify 'if break ; break ;'
2010-09-11 21:48:40 +02:00
Daniel Marjamäki
7aa0504692
Memory leaks: simplify 'use use'
2010-09-11 21:32:21 +02:00
Daniel Marjamäki
d4e045cee5
Memory leaks: fixed try/catch and nested loops simplifications
2010-09-11 21:07:35 +02:00
Daniel Marjamäki
4064712baa
Memory leaks: improved simplification for 'callfunc'
2010-09-11 20:49:24 +02:00
Daniel Marjamäki
73122c3e8a
Memory leaks: Improved the simplifycode for 'use ; if| use ;'
2010-09-11 20:18:16 +02:00
Daniel Marjamäki
ecd863700e
Fixed #2023 (false positive with realloc())
2010-09-11 11:15:04 +02:00