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
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
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
Debrard Sebastien
fb928b6778
Fixed #2018 (Postfix Operators)
2010-10-14 19:17:40 +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
Debrard Sebastien
1a4e3dcc44
increment check
2010-10-12 19:54:39 +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
3340010376
fix unit testing
2010-10-10 14:23:05 +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
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
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
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
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
415cbc63c3
Fixed #2066 (false positive: uninitialized variable when initializing through function pointer)
2010-09-27 19:26:09 +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
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
0418731473
Fixed #2030 (False positive: Uninitialized variable when function does not return)
2010-09-10 19:02:40 +02:00
Daniel Marjamäki
5688412f00
Fixed #2030 (False positive: Uninitialized variable when function does not return)
2010-09-07 20:25:29 +02:00
Daniel Marjamäki
cfbc06c8b6
removed 'empty catch block' check. to avoid false positives we'll need to check if it is bad with an empty catch block (dead pointer/undefined behaviour/etc)
2010-09-05 13:27:58 +02:00
Daniel Marjamäki
a2b4e5641f
Fixed #2010 (missing continue in switch check ?)
2010-09-04 14:24:45 +02:00
Daniel Marjamäki
fb4fce466e
Fixed #2014 (False positive with longjmp)
2010-09-03 07:18:01 +02:00
Daniel Marjamäki
190a0040b7
Null pointer: Fixed false positive
2010-09-02 21:08:58 +02:00
Daniel Marjamäki
df87ce9e04
Fixed #1945 (False positives when a for loop header is in a macro)
2010-08-26 21:57:48 +02:00
Daniel Marjamäki
72916caee6
Reverted 7398453cb0
2010-08-15 21:25:14 +02:00
Sbastien Debrard
7398453cb0
Refactoring of obsolete functions checks. Ticket: #1940
2010-08-15 21:22:33 +02:00
Zachary Blair
c8087d3389
Fixed #162 (Initialisation of a variable by itself)
2010-08-14 21:34:04 -07:00
Daniel Marjamäki
5846630fa9
Added scanf check. Modified patch submitted by Eric Sesterhenn
2010-08-14 15:15:12 +02:00
Daniel Marjamäki
029613d4c4
Fixed #1923 (False positive: Possible null pointer derefence in else if)
2010-08-07 19:59:56 +02:00
Daniel Marjamäki
e7e86ef333
calculation in sizeof: added two more ASSERT_EQUALS to guard against false positives
2010-08-07 10:12:39 +02:00
Daniel Marjamäki
c395e51389
New check: look for calculation inside sizeof
2010-08-06 22:57:10 +02:00
Daniel Marjamäki
65f7bcbfa5
null pointers: fixed TODO assertion - dereference pointer in function call and then checking that it is not NULL
2010-08-05 08:19:36 +02:00
Daniel Marjamäki
6f228033d2
null pointers: fixed todo test case
2010-08-05 08:06:19 +02:00
Daniel Marjamäki
239d264432
uninitialized variables: fixed false negatives when uninitialized pointer data is read
2010-08-04 21:13:40 +02:00
Daniel Marjamäki
9c17114668
Fixed #1893 (false positive: dereferencing null pointer (try/catch))
2010-07-24 14:27:18 +02:00
Daniel Marjamäki
bbf2c6c6e6
Fixed #1880 (false positive: Uninitialized array (initialized in subfunction))
2010-07-19 10:03:54 +02:00
Martin Ettl
6cc3f76668
#1880 : added todo testcase (false positive: (error) Uninitialized variable: y)
2010-07-18 18:55:53 +02:00
Daniel Marjamäki
1fb4758583
Fixed #1855 (false positive: uninitialized variable (function call in switch condition))
2010-07-18 13:19:37 +02:00
Daniel Marjamäki
11a72461f3
Fixed #1835 (false positive: uninitialized variable when using ?)
2010-07-08 11:16:49 +02:00
Daniel Marjamäki
a1793edabe
Fixed #1825 (*log(0) error)
2010-07-07 09:03:40 +02:00
Daniel Marjamäki
1b20f8d27d
Fixed #1824 (false positive: unitialised variable)
2010-07-06 13:18:28 +02:00
Daniel Marjamäki
c811acaa50
Fixed #1818 (False positive: Dangerous usage of strncpy (copying a constant string))
2010-07-05 12:45:39 +02:00
Zachary Blair
5ea28ccbba
Fixed #157 (Forgetting to put a break in a switch statement)
2010-06-30 00:10:30 -07:00
Daniel Marjamäki
c6888845a0
Fixed #1815 (False positive: uninitialized variable when using ? operator)
2010-06-30 08:28:34 +02:00
Daniel Marjamäki
ad0908cb3f
Fixed #1808 (false positive: uninitialized variable with multiple assignment)
2010-06-25 19:39:30 +02:00
Nicolás Alvarez
df3d98a7c2
Fix typos in sizeofsizeof error message.
2010-06-19 17:16:14 -03:00
Daniel Marjamäki
82b63dd736
Fixed #1633 (tokenizer: simplifyKnownVariable: improved handling of arithmetic)
2010-06-19 14:00:45 +02:00
Zachary Blair
efefceabae
Fixed #920 (new style check: find empty catch blocks)
2010-06-14 23:45:46 -07:00
Daniel Marjamäki
cb7e9fbec1
Fixed #1776 (False Negative: Unitialized array)
2010-06-14 08:36:34 +02:00
Martin Ettl
c9cd5ea250
added a todo testcase for ticket 1778
2010-06-09 01:21:52 +02:00
Daniel Marjamäki
472bd9dabe
Fixed #1726 (False negative: null pointer dereference in switch block)
2010-06-06 12:15:31 +02:00
Daniel Marjamäki
07e00d57d9
Fixed #1725 (segfault in ExecutionPath::bailOutVar (probably caused by #1721 fix))
2010-06-05 09:45:35 +02:00
Daniel Marjamäki
b11e23eb08
Fixed #1721 (False negative: uninitialized variable in switch block)
2010-06-03 20:02:58 +02:00
Daniel Marjamäki
37ae4692bb
Uninitialized variables: fixed false negative when using uninitialized variable inside malloc call
2010-05-30 10:30:51 +02:00
Daniel Marjamäki
1ec49430e3
Uninitialized variables: better handling when uninitialized variables are used in function calls
2010-05-30 09:31:10 +02:00
Daniel Marjamäki
ab41879246
ExecutionPath: Better handling of 'FOREACH (..) {}'
2010-05-30 09:00:18 +02:00
Daniel Marjamäki
f41334e58a
ExecutionPath: better handling of 'FOREACH(..){..}'
2010-05-30 08:26:44 +02:00
Daniel Marjamäki
406cbda563
Uninitialized variables: better handling of struct variables
2010-05-30 07:55:11 +02:00
Daniel Marjamäki
d3c20cac81
Fixed #1712 (False negative: dereferencing uninitialized pointer)
2010-05-27 19:00:52 +02:00
Daniel Marjamäki
88e9a4ade6
Fixed #1704 (false negative: null pointer dereference)
2010-05-26 19:16:42 +02:00
Daniel Marjamäki
75c9355e9a
Added some multipass checking for the uninitialized variables. It is still experimental. You can activate it with the '--test-2-pass' switch. Some more refactorings are needed to make it truly usable, the main thing is to make it thread safe.
2010-05-21 19:35:18 +02:00
Daniel Marjamäki
6edb2e77b4
Refactoring: Removed Severity::possibleStyle
2010-05-16 14:43:42 +02:00
Daniel Marjamki
972046c4bd
Added test CheckOther::sizeofsizeof. Inspired by #1682
2010-05-15 14:06:45 +02:00
Daniel Marjamäki
7c52c8683d
Fixed #1662 (false positive: Data is allocated but not initialized, when using sprintf)
2010-05-09 07:48:52 +02:00
Daniel Marjamäki
2901434773
Fixed #1658 (false negative: uninitialized pointer usage)
2010-05-08 19:23:46 +02:00
Daniel Marjamäki
bd22a18dc1
Refactoring: Changed 'possible style' to 'style'
2010-05-08 09:49:01 +02:00
Zachary Blair
21b7eb61f5
Fixed #959 : (new check: wrong usage of fflush()) Simplified and set severity to error
2010-05-06 23:08:10 -07:00
Zachary Blair
707d27f3d8
Fixed #959 (new check: wrong usage of fflush())
2010-05-03 23:14:45 -07:00
Daniel Marjamäki
cccccff96f
Fixed #1629 (False negative: null pointer derefence not detected 'c[0] = 0')
2010-04-28 22:07:39 +02:00
Daniel Marjamäki
2666aad207
Fixed #1632 (false positive: unintialized variable)
2010-04-28 21:33:11 +02:00
Daniel Marjamäki
eb82a89758
ExecutionPath: Better handling of if
2010-04-25 11:55:57 +02:00
Daniel Marjamäki
a15e25f9fe
Fixed #1571 ('C-style pointer casting' should not be reported for C files)
2010-04-24 16:46:09 +02:00
Daniel Marjamäki
f3bea249ac
Removed the check for unreachable code. The g++ warning -Wunreachable-code is recommended instead. This closes #1603 (break after a return or goto should not be an error in a switch statement).
2010-04-24 14:30:45 +02:00
Zachary Blair
680a470741
Fixed #1564 (CppCheck does not recognise redundant IF)
2010-04-22 01:21:54 -07:00
Zachary Blair
c26e619b23
Fixed #855 (Refactoring: move conditions into checks)
2010-04-20 23:38:25 -07:00
Reijo Tomperi
35d2a27b9c
Update copyright year in all source files
2010-04-13 22:23:17 +03:00
Zachary Blair
bd7dc9946e
Fixed #1530 (possible new check: strlen return value versus zero.)
2010-04-13 19:30:25 +02:00
Daniel Marjamäki
38a28e28ec
Fixed #1581 (False positives 'The scope of the variable x can be reduced')
2010-04-09 16:53:27 +02:00
Martin Ettl
4bc325f077
#ticket 1513: added sqrt() support
2010-04-05 20:20:20 +02:00
Martin Ettl
fe7c6aed9f
#ticket 1513: added pow() support
2010-04-05 20:07:53 +02:00
Martin Ettl
218c18496d
#ticket 1513 added fmod() support
2010-04-05 19:45:33 +02:00
Martin Ettl
d4923e2a92
added atan2() check to ticket #1513
2010-04-05 19:35:56 +02:00
Daniel Marjamäki
61e1c4183f
Uninitialized variables: better handling of 'a[b[..]]' when b is not initialized
2010-04-05 09:04:30 +02:00
Daniel Marjamäki
d26a2cfc16
Uninitialized variables: Detect reading uninitialized data through array/pointer variable
2010-04-05 08:38:26 +02:00
Daniel Marjamäki
abceff497b
Refactoring: some refactoring of ExecutionPath. The foundError was removed. No automatic bailout of all checks are made when errors are found.
2010-04-04 11:24:52 +02:00
Daniel Marjamäki
78852b08ab
Fixed #1566 (false negative: uninitialized variable)
2010-04-04 09:17:53 +02:00
Daniel Marjamäki
849be383e6
Tokenizer: tokenize 1E-2 into a single token
2010-04-04 08:01:05 +02:00
Reijo Tomperi
a1d0defbc0
astyle fix
2010-04-02 21:42:06 +03:00
Martin Ettl
c391a03db6
added acos() check to ticket #1513 ; added testcases for MathLib::toDoubleNumber(), now double conversion of zeros is handled correctly; changed assertEquals() function of testsuite parameters from unsigned int to double. This is needed to avoid overflow of unsigned int by comparing negative floating point values.
2010-04-02 20:23:37 +02:00
Daniel Marjamäki
734b10e650
Fixed #1479 (false positive: unintialized variable when using goto)
2010-04-02 08:35:05 +02:00
Daniel Marjamäki
8b5aae9adb
astyle formatting
2010-04-02 07:32:03 +02:00
Daniel Marjamäki
0cad22314e
Reverted 'astyle fix'. Those changes are not in sync with my astyle configuration/setup.
2010-04-02 07:30:58 +02:00
Martin Ettl
193aa7d1d3
astyle fix
2010-04-02 02:21:53 +02:00
Martin Ettl
b5fb01c202
ticket #1513 new check: Detecting obviously wrong math call arguments passed to math functions)
2010-04-02 02:19:38 +02:00
Daniel Marjamäki
c3edc5fd89
Fixed #1148 (improve check: usage of uninitialized variables)
2010-03-28 21:27:06 +02:00
Daniel Marjamäki
c7867af3c5
Fixed #1533 (False positive: Uninitialized variable)
2010-03-28 10:42:37 +02:00
Raphael Geissert
c0e09c4cb3
Fixed #1511 (false negative null pointer deref when dereferencing pointers to constants)
2010-03-26 16:44:46 +01:00
Daniel Marjamäki
15d67a2369
Fixed #1503 (False positive for uninitialized variable)
2010-03-16 19:09:37 +01:00
Daniel Marjamäki
7f42ed3ad0
Fixed #1472 (false positive: Data is allocated but not initialized: service)
2010-03-07 09:08:52 +01:00
Daniel Marjamäki
6ca4b008d0
null pointer: Fixed better error message for 'possible null pointer' + removed redundant check in our Tokenizer.
2010-02-28 07:26:50 +01:00
Reijo Tomperi
b35acc1e6b
Add TODO test case for #1444 (inline suppression suppress all errors of the same type in a function)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/1444
2010-02-25 22:55:09 +02:00
Daniel Marjamäki
0b2ad2164f
Fixed #1442 (false positive: getting offset instead of dereferencing a null pointer)
2010-02-22 21:30:21 +01:00
Daniel Marjamäki
6a03fa604c
Fixed #1402 (false positive: uninitialized variable)
2010-02-20 09:35:57 +01:00
Daniel Marjamäki
b59d79c303
readded checks for unused variables and unreachable code that were removed in 42c608b6f0
2010-02-18 18:45:13 +01:00
Daniel Marjamäki
db2c362604
Fixed #1389 (false positive: uninitialized variable)
2010-02-17 18:10:50 +01:00
Reijo Tomperi
7e2e20c2d3
astyle fix
2010-02-08 09:35:53 +02:00
Monika Lukow
2d5d060514
Fixed #1094 (Improve check: unusual pointer arithmetic: 'ch+str')
2010-02-07 21:44:11 +01:00
Daniel Marjamäki
0d18050b55
Fixed #984 (improve output if strncpy is followed by strncat)
2010-02-05 17:35:18 +01:00
Daniel Marjamäki
1b9afc82a4
Reverted 4f30468c80
. There was false positives such as #1335 so please fix them and then re-commit.
2010-02-01 19:46:51 +01:00
Monika Lukow
4f30468c80
Fixed #1094 (Improve check: unusual pointer arithmetic: 'ch+str')
2010-01-31 11:42:02 +01:00
Daniel Marjamäki
48f3921c36
Null pointer dereference: sending to output stream
2010-01-30 14:40:33 +01:00
Daniel Marjamäki
019f775aa5
TestOther::uninitvar1: refactoring. splitting up this function into multiple functions
2010-01-24 15:23:21 +01:00
Daniel Marjamäki
43c8fe895c
Fixed #1301 (False positive: Data is allocated but not initialized)
2010-01-23 21:25:17 +01:00
Daniel Marjamäki
037ecffc34
detect when function pointer that is null is used
2010-01-23 09:15:30 +01:00
Daniel Marjamäki
7b986c831d
Report when using uninitialized function pointer
2010-01-23 07:57:57 +01:00
Daniel Marjamäki
2e707974d0
Fixed #1273 (scope of variable limited not detected in latest versions)
2010-01-21 18:50:56 +01:00
Daniel Marjamäki
fbf428550a
Fixed #1262 (cppcheck false positives: 'Possible null pointer dereference', 'Uninitialized variable')
2010-01-17 19:08:45 +01:00
Daniel Marjamäki
a7bddc8fd3
Fixed #1268 (Null pointer dereference false positive)
2010-01-14 20:02:38 +01:00
Daniel Marjamäki
cefa695dba
Fixed #1265 ((error) Uninitialized variable on macro expansion)
2010-01-13 19:37:55 +01:00
Daniel Marjamäki
374def4a53
Fixed #1070 (Improve scope error message)
2010-01-12 19:34:33 +01:00
Daniel Marjamäki
d3b7f5931f
Fixed #1174 (improve check: Unintialized variable not detected in subfunction)
2010-01-11 22:28:07 +01:00
Daniel Marjamäki
b8b6b0ec32
Uninitialized variables: fixed false positives when using pointer aliasing
2010-01-11 19:25:01 +01:00
Daniel Marjamäki
8be54b592d
ExecutionPath: better handling of for/while/do/switch, it doesn't bail out everything
2010-01-10 22:05:51 +01:00
Daniel Marjamäki
c5966bba59
Fixed #1225 (false negative :: uninitialized variable not detected when using enums)
2010-01-10 20:36:15 +01:00
Daniel Marjamäki
b82cb2e41e
Fixed #1218 (Improve check: incrementing uninitialized variable i++)
2010-01-10 09:09:37 +01:00
Daniel Marjamäki
4c641ed80c
Fixed #1189 (false negative: using uninitialized variable i 'a[i] = 0;')
2010-01-09 22:26:05 +01:00
Daniel Marjamäki
2dd0907146
fixed segmentation fault
2010-01-08 21:54:24 +01:00
Daniel Marjamäki
ca74f57fd0
Fixed #1237 (Uninitialized variable false positive for return-value pattern in pan source code.)
2010-01-08 21:24:48 +01:00
Daniel Marjamäki
e248f7d3e5
Fixed #1023 (improve check: Unintialized variable not detected when using +=)
2010-01-03 18:49:13 +01:00
Daniel Marjamäki
e286896d75
Fixed #1216 (false positive: uninitialized variable when using exit|abort)
2010-01-03 15:35:32 +01:00
Daniel Marjamäki
fa535ff3ae
Fixed #440 (NULL referencing not detected)
2010-01-03 13:30:20 +01:00
Daniel Marjamäki
1032eb2449
Fixed #1214 (false positive: uninitialized variable 'bool fixed = std::ios_base::fixed;')
2010-01-03 08:03:28 +01:00
Daniel Marjamäki
d82079e86f
Fixed #1209 (False positive: uninitialized variable c when it is initialized with 'ab(sizeof(xyz), &c)')
2010-01-02 18:16:44 +01:00
Daniel Marjamäki
2e62a3f4c7
Fixed #1202 (false positive: uninitialized variable when using 'do')
2010-01-02 09:08:36 +01:00
Daniel Marjamäki
071b7b463d
Fixed #1200 (false positive 'uninitialized variable' when using throw)
2010-01-01 20:12:39 +01:00
Daniel Marjamäki
f8bd59f5b5
Fixed #1191 (false positive: uninitialized variable)
2010-01-01 19:43:02 +01:00
Daniel Marjamäki
7ecd333ffa
Fixed #1188 (false negative: dereferencing p, which is a null pointer 'int y = 5 + *p')
2009-12-31 20:00:20 +01:00
Daniel Marjamäki
0159287437
Fixed #1183 (False positive: uninitialized variable p 'd = bar(sizeof(*p));')
2009-12-31 09:10:20 +01:00
Daniel Marjamäki
0ee3d7e46a
Fixed #1182 (False positive: uninitialized variable 'int *pa = &a;')
2009-12-30 21:42:15 +01:00
Daniel Marjamäki
ae3ff7d376
Fixed #1087 (uninitialized data not detected 'char z = *str')
2009-12-30 20:37:11 +01:00
Daniel Marjamäki
461d826eff
Fixed #1105 (improve check: uninitialized variable not detected for 'a = a')
2009-12-30 20:15:44 +01:00
Daniel Marjamäki
d83131ca92
Fixed #1041 (passing a nullpointer to a reference)
2009-12-30 17:42:41 +01:00
Daniel Marjamäki
06ee643c6a
Fixed #1177 (False positive: pointer is not dereferenced 'sizeof(*p)')
2009-12-30 11:32:46 +01:00
Daniel Marjamäki
2a28ca72cc
Fixed #1166 (improve check: using uninitialized pointer to create reference 'int &r(*p);')
2009-12-29 20:36:20 +01:00
Daniel Marjamäki
71b328d703
Robert Reif: Fixed #1163 (post increment test broken for complex template types)
2009-12-29 19:24:48 +01:00
Daniel Marjamäki
cfdf2b8cfe
Fixed #1160 (Null pointer dereference vs. goto)
2009-12-29 09:17:07 +01:00
Daniel Marjamäki
9aca2e7680
Fixed #1156 ([False positive] Uninitialized variable - class member in constructor)
2009-12-28 12:51:28 +01:00
Daniel Marjamäki
b1e963fe2c
Fixed another issue with #1154 (false positive: Data is allocated but not initialized)
2009-12-27 18:00:43 +01:00
Daniel Marjamäki
1c0f3ee179
Fixed #1154 (false positive: Data is allocated but not initialized)
2009-12-27 17:35:18 +01:00
Daniel Marjamäki
738987a686
Fixed #1138 (improve check: dereferencing uninitialized pointer)
2009-12-27 17:20:34 +01:00
Daniel Marjamäki
fbfe5a4bd1
Fixed #1153 (False positive: uninitialized data for reinterpret_cast)
2009-12-27 09:27:05 +01:00
Daniel Marjamäki
ab7ffd2391
Uninitialized variables: Fixed false positive for 'if (ptr)'
2009-12-26 16:22:14 +01:00
Daniel Marjamäki
a82a085d10
Fixed #1151 (false positive: Data is allocated but not initialized)
2009-12-26 09:30:02 +01:00
Daniel Marjamäki
9819b75e17
ExecutionPath: Refactoring if-handling
2009-12-25 20:50:23 +01:00
Daniel Marjamäki
b5291825ce
Fixed #683 (wrong usage of strcmp)
2009-12-25 19:45:21 +01:00
Daniel Marjamäki
9b05850e97
fixed unit testing
2009-12-23 20:00:12 +01:00
Daniel Marjamäki
ea51c3e098
Refactoring the uninitialized variable / null pointer checks so they use a common function to inspect function calls
2009-12-23 19:51:32 +01:00
Daniel Marjamäki
a7d48f2eb4
Fixed #1147 (Improve check: return uninitialized variable)
2009-12-23 17:55:03 +01:00
Daniel Marjamäki
b6c320de8a
Fixed false positives about uninitialized variables
2009-12-23 15:01:23 +01:00
Daniel Marjamäki
ef21ba7425
Fixed #1137 (false positive: uninitialized variable when using a class object)
2009-12-23 13:57:01 +01:00
Daniel Marjamäki
5a89cc3259
Robert Reif: Fixed #1139 (false negative: CheckOther::postIncrement() only finds at most one problem)
2009-12-23 13:38:54 +01:00
Daniel Marjamäki
2bd60ab6c8
Fixed #1133 (Uninitialized array: strchr, strrchr, etc)
2009-12-22 21:08:29 +01:00
Daniel Marjamäki
566cfce8da
Fixed #1128 (false positive: Data is allocated but not initialized)
2009-12-22 21:00:52 +01:00
Daniel Marjamäki
aaf908bd5e
astyle formatting
2009-12-22 19:18:02 +01:00
Daniel Marjamäki
11da89784f
Eric Sesterhenn: Fixed #1130 (False positive uninitialized variable)
2009-12-22 19:16:34 +01:00
Daniel Marjamäki
2e0566bf7a
Fixed #1096 (Non-obvious error message: Overlapping data buffer)
2009-12-21 21:05:55 +01:00
Daniel Marjamäki
b3b07321ca
ericsesterhenn: Fixed #1091 (improve check: nullpointer dereference not detected)
2009-12-21 19:09:13 +01:00
Daniel Marjamäki
d9cf70c1c6
Fixed #1119 (false positve: uninitialized variable y when y is assigned in inner expression 'x = (y = 10)')
2009-12-20 13:55:17 +01:00
Daniel Marjamäki
e03ff727d4
Fixed #1103 (false positive: uninitialized variable when using references)
2009-12-15 19:50:48 +01:00
Daniel Marjamäki
9646f62ec1
Fixed #1075 (False positive: uninitialized variable 'return bar(s);')
2009-12-11 19:58:29 +01:00
Daniel Marjamäki
91114c50d2
Fixed #1061 (false positve: uninitialized variable)
2009-12-09 20:05:06 +01:00
Daniel Marjamäki
2d180ab918
newcheck: added the 'newcheck' functionality. It's still in early state so it needs refactoring
2009-12-06 18:41:28 +01:00
Daniel Marjamäki
ded2e68c2e
Fix #1022 (False positive: uninitialized variable when using local struct)
2009-11-29 19:23:31 +01:00
Daniel Marjamäki
a3a3ff4349
fixed testcase so it's valid syntax
2009-11-17 19:06:53 +01:00
Daniel Marjamäki
d866c174cf
Fixed
2009-11-15 20:26:07 +01:00
Daniel Marjamäki
469a8e4032
Fixed #925 (uninitialized deletion not detected)
2009-11-15 20:01:57 +01:00
Reijo Tomperi
9275b49688
Fix #964 (Integer division by zero exception)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/964
2009-11-15 17:44:30 +02:00
Daniel Marjamäki
822f64ec9a
Fixed #953 (false positive: 'uninitialized variable' with function pointer)
2009-11-15 12:42:04 +01:00
Daniel Marjamäki
ebf907cbc0
Fixed #936 (false positive: uninitialized variable '.. else return; .. ')
2009-11-14 20:37:54 +01:00
Daniel Marjamäki
ec6d66ff45
Fixed #913 (false positive: uninitialized variable)
2009-11-14 08:00:17 +01:00
Daniel Marjamäki
e0b1303b50
Fixed #929 (Uninitialized variable false positive)
2009-11-10 18:05:55 +01:00
Daniel Marjamäki
d85fb9dd3d
unit testing: minor syntax updates
2009-11-09 20:40:30 +01:00
Daniel Marjamäki
4b04ed9ad9
Fixed #910 (false positive: uninitialized variable for array)
2009-11-08 07:31:01 +01:00
Daniel Marjamäki
d88c236efe
uninitialized data: minor fix to handle 'new char [' better
2009-11-07 14:54:12 +01:00
Daniel Marjamäki
60caefe069
uninitialized data: added more checking for allocated data
2009-11-07 09:10:15 +01:00
Daniel Marjamäki
c561a36cc7
uninitialized variables: better checking of strncpy
2009-11-06 19:06:45 +01:00
Daniel Marjamäki
7397bfc765
Fixed #904 (false positive: uninitialized variable)
2009-11-06 16:50:02 +01:00
Daniel Marjamäki
53f7b12b4f
Fixed #902 (false positive: uninitialized variable when variable is initialized in macro)
2009-11-06 16:02:13 +01:00
Daniel Marjamäki
442584151b
Fixed #897 (false positive: uninitialized variable when assigning pointer to array to struct member)
2009-11-05 21:07:04 +01:00
Daniel Marjamäki
c3dff9a6d3
Fixed #893 (False Positive: Uninitialized variable b in a[0] = b[0] = '\0';)
2009-11-03 21:02:16 +01:00
Daniel Marjamäki
797e9aeaf5
Fixed #890 (false positive: Uninitialized variable when pointer takes the address to array)
2009-11-03 17:03:53 +01:00
Daniel Marjamäki
8d57cef7f9
Fixed #764 (usage of unitialized variable not detected)
2009-11-02 19:58:49 +01:00
Daniel Marjamäki
169bcfcff2
Fixed #882 (false positive: uninitialized variable)
2009-11-02 18:31:22 +01:00
Daniel Marjamäki
4abbe9ffd4
Fixed #889 (false positive: uninitialized variable)
2009-11-02 16:28:15 +01:00
Reijo Tomperi
eebbc1b906
Fix #884 (False positive: Possible null pointer reference about a non-pointer)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/884
2009-11-01 13:08:37 +02:00
Daniel Marjamäki
c83d9cd786
Fixed #843 (new check: Passing uninitialized array to strlen/strdup/strcpy/strcat/etc)
2009-10-31 16:36:56 +01:00
Daniel Marjamäki
266291baf4
Fixed #876 (false positive: uninitialized variable)
2009-10-31 10:30:32 +01:00
Daniel Marjamäki
45df223bfb
Fixed #875 (Uninitialized variable: initialization in subfunction)
2009-10-30 18:28:01 +01:00
Daniel Marjamäki
7dbf22aa3f
null pointer: fixed false positive when condition checks if pointer is ok
2009-10-30 15:14:24 +01:00
Daniel Marjamäki
2cf849a9b8
uninitialized variables: fixed false positive when switch is used
2009-10-30 14:52:20 +01:00
Daniel Marjamäki
765c824c6f
Uninitialized pointers: It's allowed to dereference uninitialized non-pointer variables
2009-10-30 14:31:37 +01:00
Daniel Marjamäki
44a9c9b458
Fixed #874 (false positive: uninitialized variable)
2009-10-30 14:06:40 +01:00
Daniel Marjamäki
768225bb1b
uninitialized variables: fixed false positives for member variables
2009-10-30 13:43:00 +01:00
Daniel Marjamäki
c424d4c8af
uninitialized variables: Added TODO testcase for removing false positives
2009-10-29 22:51:08 +01:00
Daniel Marjamäki
c6d7fad84f
uninitialized variables: added check
2009-10-29 21:34:43 +01:00
Daniel Marjamäki
09859c1019
refactoring the folder structure
2009-10-25 12:49:06 +01:00
Daniel
e5f13b4de2
Fixed #839 (False positive: possible null pointer dereference after new)
2009-10-20 20:57:38 +02:00
Daniel Marjamäki
857c95e7b5
Null pointers: Detect code where the assignment is conditional
2009-10-19 17:32:43 +02:00
Reijo Tomperi
ad5d87ee14
Fix #802 (possible null pointer dereference reported for reference)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/802
2009-10-08 11:55:37 +03:00
Reijo Tomperi
014ad937cf
Optimize speed and fix one false positive with stl checks.
2009-10-07 23:38:21 +03:00
Reijo Tomperi
d9ae2c171e
Detect referenced by value errors for std::map also.
2009-10-07 00:04:54 +03:00
Daniel Marjamäki
c3d56c1d13
Fix #797 (false positive: variable scope when using function call)
2009-10-06 17:45:28 +02:00
Reijo Tomperi
6901bcae79
Fix #771 (False positive. Null pointer dereference in a switch case)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/771
2009-10-05 14:46:38 +03:00
Reijo Tomperi
1df8f38423
Fix #793 (Improve passedByValue check)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/793
2009-10-05 11:59:28 +03:00
Slava Semushin
6b0d364f57
Fixed #782 (Checks are missing test cases)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/782
2009-10-04 15:05:58 +07:00
Reijo Tomperi
f9871c2d54
Fix #745 (false positive: possible null pointer dereference , while)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/745
2009-09-30 21:42:14 +03:00
Reijo Tomperi
724c78fb4d
Fix #750 (cppcheck wants variable outside do-loop to be only inside loop)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/750
Fix #758 (False positive on variable scope with boost foreach)
http://sourceforge.net/apps/trac/cppcheck/ticket/758
2009-09-30 00:56:43 +03:00
Reijo Tomperi
63523316a2
Check nullpointer check is now executed without --style flag
...
Added TODO test case for nullpointer check
2009-09-29 16:38:05 +03:00
Reijo Tomperi
64f0f3b308
Fix #751 (if-condition considered redundant even with else-branch)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/751
Fix also other issue with if(a.b) delete c.b;
Fix also other issue with if(a.b.c) delete a.b.c;
2009-09-29 00:18:40 +03:00
Reijo Tomperi
fdde2182b9
Fix GPL comments in all files. ">." was missing from the end.
2009-09-27 18:08:31 +03:00
Reijo Tomperi
16e55f4f89
Improve C style pointer cast detection
...
http://sourceforge.net/apps/trac/cppcheck/ticket/724
2009-09-24 23:46:08 +03:00
Daniel Marjamäki
7f2ca357b0
Fixed #673 (False positive: null pointer dereference when dynamic cast is used)
2009-09-19 10:54:10 +02:00
Daniel Marjamäki
e4291a5966
Fixed #676 (The scope of variable can actually not be limited)
2009-09-17 21:05:12 +02:00
Reijo Tomperi
8ab26e85cf
Don't warn about division by zero if zero if floating point number.
...
Fix bug from mathlib isInt() and add test case from which few are false positives
2009-09-01 22:06:46 +03:00
Reijo Tomperi
0d468d97c7
Fix #630 (Division by zero check only looks at first character of divisor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/630
Thanks to liam_routt for finding this and providing fix for it.
2009-09-01 17:00:26 +03:00
Reijo Tomperi
6fb44e733b
Fix ticket #612 (Division by zero not detected when zero has type suffix)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/612
2009-08-30 22:02:09 +03:00
Daniel Marjamäki
5d2c409e46
Fixed #623 (False positive: possible null pointer dereference when using the ?: operator)
2009-08-28 08:48:37 +02:00
Daniel Marjamäki
c25e1963b1
Fixed #498 (Tokenizer: simplify 'goto')
2009-08-24 23:10:12 +02:00
Slava Semushin
e6120a5725
Fixed #581 (Wrong usage of div-function)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/581
2009-08-23 10:37:09 +07:00
Slava Semushin
ec050d2563
TestOther::varScope5: fixed syntax error in test case.
...
Testrunner complains about "Unlogged error at Tokenizer::syntaxError"
since 74bbe945f6
commit.
2009-08-22 21:29:09 +07:00
Daniel Marjamäki
439ff8b144
Fixed #599 (False positive: null pointer dereference)
2009-08-21 12:42:40 +02:00
Slava Semushin
74bbe945f6
Fixed #272 ("The scope of the variable XXX can be limited" not detected when variable is initilialized during declaration)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/272
2009-08-17 02:12:57 +07:00
Daniel Marjamäki
ad4ea01750
Fixed #583 (False positive: the nullpointer check doesn't handle goto properly)
2009-08-12 18:54:52 +02:00
Slava Semushin
4c32057180
Fixed ticket #541 (Wrong testcases produce unlogged error at Tokenizer::syntaxError)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/541
2009-08-12 02:06:41 +07:00
Daniel Marjamäki
e7feac506c
Refactoring: updated the nullPointer message so it contains the name of the pointer
2009-08-11 17:18:01 +02:00
Daniel Marjamäki
e6713e9774
null pointers: fixed a false positive
2009-08-01 11:30:37 +02:00
Daniel Marjamäki
2d9e4e1a73
null pointers: detect when there are possible null pointer dereferencing when looping through a linked list both in inner and outer loops at the same time
2009-07-31 10:49:43 +02:00
Daniel Marjamäki
228e926654
null pointers: Added a todo testcase
2009-07-30 21:57:23 +02:00
Daniel Marjamäki
4e66dc105e
null pointers: Fixed false positive when 'do' are used
2009-07-29 11:17:22 +02:00
Daniel Marjamäki
a6d696bf40
Fixed #504 (false positive: null pointer dereference)
2009-07-25 20:36:02 +02:00
booga
9fa8c0ee9c
astyle FTW (should have read about that sooner)
2009-07-24 19:23:30 -04:00
booga
52e2e775b2
Fix #476 STL Container checks.
...
Fix #473 Add post increment check for STL objects and Classes.
2009-07-24 18:36:15 -04:00
Daniel Marjamäki
5b81c92a14
null pointers: fixed false positives when checking if pointer is null at many locations ( #485 )
2009-07-23 19:59:29 +02:00
Daniel Marjamäki
06c8ff9d0d
null pointers: fixed false positives ( #49 )
2009-07-23 19:02:14 +02:00
Daniel Marjamäki
d0f1d885ed
null pointers: dereferencing a pointer and then checking if it's null ( #49 )
2009-07-23 14:13:46 +02:00
Daniel Marjamäki
e36994f54b
astyle formatting
2009-07-22 18:48:42 +02:00
Daniel Marjamäki
ba36c9426b
null pointers: better checking when dereferencing pointer and then checking if it is null ( #485 )
2009-07-21 17:00:11 +02:00
Daniel Marjamäki
45f8560537
invalid pointer usage: broke out CheckOther::invalidPointer from the CheckOther::nullPointer ( #485 )
2009-07-21 12:09:58 +02:00
Daniel Marjamäki
ce595dd5c7
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-07-21 07:41:43 +02:00
Reijo Tomperi
973bb164ea
Fix ticket #486 (C-style pointer casting misses const pointers)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/486
2009-07-20 22:52:27 +03:00
Daniel Marjamäki
0e208eb52f
null pointer dereferencing: fixed another false positive ( #485 )
2009-07-20 19:59:55 +02:00
Daniel Marjamäki
05a1c50ff2
null pointer dereferencing: removed a few false positives in the new check that I added ( #485 )
2009-07-20 19:30:33 +02:00
Daniel Marjamäki
b7ba49114c
Fixed #485 (detect when code is checking for null after dereferencing)
2009-07-20 18:53:41 +02:00
Slava Semushin
d3490abd64
Finally fixed ticket #284 (style check: redundant condition improvement)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/284
2009-07-18 21:42:08 +07:00
Reijo Tomperi
8b0e481d46
Refactoring: Rename member functions to follow naming guidelines.
2009-07-05 23:16:43 +03:00
Daniel Marjamäki
12c9f09780
Fixed #420 (WarningOldStylePointerCast() needs a test case)
2009-06-19 12:01:27 +02:00
Reijo Tomperi
b7171c3cd2
Fix ticket #413 (false positive: C-style pointer casting for pure virtual function)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/413
2009-06-18 23:26:21 +03:00
Daniel Marjamäki
35b6b2588e
Fixed ticket #374 (False positive: The scope of variable can be limited)
...
A few refactorings and fixes were made
2009-06-12 16:17:51 +02:00
Daniel Marjamäki
a71d260308
Refactoring: Moved CheckOther::returnPointerToLocalVariable to CheckAutoVariables
2009-06-09 19:45:58 +02:00
Reijo Tomperi
9cd5558f5e
Fix ticket #364 (false positive:: division by zero)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/364
2009-06-06 00:33:13 +03:00
Slava Semushin
52a8368b02
Strip redundant std::string usage from tests.
...
Second round: handle empty strings.
Done by command:
git grep -l ASSERT_EQUALS | xargs sed -i 's|ASSERT_EQUALS(std::string(\(".*"\)),|ASSERT_EQUALS(\1,|'
Should be no functional change.
2009-06-05 07:43:55 +07:00
Slava Semushin
e5c0383594
Strip redundant std::string usage from tests.
...
Done by command:
git grep -l ASSERT_EQUALS | xargs sed -i 's|ASSERT_EQUALS(std::string(\(".\+"\)),|ASSERT_EQUALS(\1,|'
Should be no functional change.
2009-06-01 02:50:25 +07:00
Reijo Tomperi
58eda6e978
Fix ticket #325 (Replace developer names in source files with AUTHORS file)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/325
2009-05-30 08:48:12 +03:00
Daniel Marjamäki
650d58e3de
Fix for ticket 337 ('scope can be limited' false positive with variables referenced by pointers)
2009-05-27 19:38:26 +02:00
Slava Semushin
f5300ae56c
Part of fix for ticket #284 (style check: redundant condition improvement)
...
Fixed case "if (p) delete [] p;" and also added test case for it.
http://apps.sourceforge.net/trac/cppcheck/ticket/284
2009-05-24 00:32:53 +07:00
Slava Semushin
bc62472a18
Part of fix for ticket #284 (style check: redundant condition improvement)
...
Fixed case "if (p != NULL) delete p;" and also added test case for it.
http://apps.sourceforge.net/trac/cppcheck/ticket/284
2009-05-24 00:30:27 +07:00
Daniel Marjamäki
1ae24066fe
null pointer dereferencing: check that its a pointer that is dereferenced to avoid false positives when using classes that behave almost like pointers ( #295 )
2009-05-10 08:43:16 +02:00
Daniel Marjamäki
ca8f25fced
return pointer to local array: fixed false positive when return value is converted to for instance a std::string ( #255 )
2009-04-19 16:47:54 +02:00
Daniel Marjamäki
263c5b9e5a
division with zero => division by zero
2009-03-29 20:27:10 +02:00
Daniel Marjamäki
d7aee72fcd
zero division: it's an error
2009-03-29 18:47:05 +02:00
Daniel Marjamäki
022dbc651e
removed TestOther::zeroDiv3 - it is not valid
2009-03-28 08:02:15 +01:00
Daniel Marjamäki
4059a2ad05
added check for zero division. The code was written by Nguyen Duong Tuan
2009-03-28 07:49:47 +01:00
Daniel Marjamäki
c0b608059a
possible null pointer dereference after a while-loop
2009-03-27 17:19:34 +01:00
Daniel Marjamäki
afcaa30b51
Fixed ticket 216 (False positive: variable scope)
2009-03-24 20:59:56 +01:00
Daniel Marjamäki
c0039a2551
added testcase
2009-03-24 20:24:03 +01:00
Daniel Marjamäki
9f1c3cc535
refactoring the rest of the classes
2009-03-20 18:16:21 +01:00
Reijo Tomperi
fc8f47145a
Copyrights updated
2009-03-01 19:52:33 +00:00
Daniel Marjamäki
c7b068c174
variable id: fixed so that the variable ids are assigned correctly (ticket:126)
2009-03-01 16:37:02 +00:00
Reijo Tomperi
a06861948b
Fixed: Ticket #78 Change (always) into (error) in error messages
2009-02-05 21:06:32 +00:00
Daniel Marjamäki
aeb573d529
returning pointer to local array
2009-02-04 18:49:19 +00:00
Daniel Marjamäki
3457b38d7a
errmsg: write severity in the message
2009-01-31 08:33:31 +00:00
Reijo Tomperi
176dd41306
Fixed Ticket #40 , Check copyright texts in files, now that we have new developers.
2009-01-21 20:04:20 +00:00