PKEuS
643f3890b4
Fixed #4003 : tmpnam may be called with a nullpointer
2012-07-27 01:36:22 -07:00
Daniel Marjamäki
a733c9b603
Fixed #3914 (false positive null pointer dereference, assignment in conditional)
2012-07-23 10:05:55 +02:00
Daniel Marjamäki
edea4ef131
Refactoring: Renamed CheckNullPointer::isPointer to Token::isUpperCaseName
2012-06-21 19:00:53 +02:00
PKEuS
c463d97386
Refactorization:
...
- Implemented consistent behaviour of Variable::typeStartToken/typeEndToken: Skip const and static on all variables.
- Simplified patterns containing "static|" or "const|" when matching typeStartToken.
2012-06-08 09:05:02 -07:00
Daniel Marjamäki
d1b4bea304
Fixed #3807 (False positive: possible null pointer dereference)
2012-05-31 18:41:00 +02:00
PKEuS
9dc8123151
Refactorizations:
...
- Use const string references instead of const strings copies when possible
- Fixed cppcheck warning about postfix increment in CheckIO
- Use symbolDatabase to detect pointers in CheckOther::checkAssignBoolToPointer
2012-05-25 03:09:41 -07:00
PKEuS
e8cd119ebd
Improved parsing of functions that accept nullpointers but no uninitialized data ( Fixed #3811 )
2012-05-16 00:56:39 -07:00
PKEuS
06a77679d4
Refactorizations:
...
- Added support for pointers in self assignement check
- Removed redundant for loop in checknullpointer.cpp
- Fixed warning about signed/unsigned mismatch in cppcheck.cpp by making Settings::_maxConfig unsigned
2012-05-11 10:38:19 -07:00
PKEuS
ec00824fd3
Fixed #3357 :
...
- Print "inconclusive" tag in cli
- Fixed inconclusive handling in checkbufferoverrun.cpp
- Merged reportInconclusiveError into reportError by adding an additional parameter "bool inconclusive" which is false per default
2012-05-06 10:37:41 -07:00
Daniel Marjamäki
d5442280b1
Fixed #3597 (Errors in evaluation of chained assignment operators)
2012-05-01 07:06:14 +02:00
PKEuS
8e362ad5f7
Fixed #3771
...
Stronger testing for false positives in inconclusive checking in checknullpointer.cpp
2012-04-30 12:36:41 +02:00
PKEuS
f1511dd795
Fixed #3766
2012-04-27 10:17:07 +02:00
PKEuS
c3578e88b6
Reverted erroneously committed lines at the end of nullpointer. Sorry for that
2012-04-26 17:55:31 +02:00
PKEuS
ddca2e2f85
Added a lot of functions of the C standard library to nullpointer/uninitialized buffer checking.
2012-04-26 17:53:21 +02:00
PKEuS
dd5e9aa454
Make use of recently implemented Token::type() functionality
2012-04-25 09:56:07 +02:00
PKEuS
fc8749e952
Improved nullpointer check:
...
- Fixed #3673
- Fixed potential issue with constructor calls (like #3697 )
- Added support for operator+ on std::string
2012-04-02 12:12:02 +02:00
PKEuS
0340764726
Improved nullpointer check: Detect dereferences by streams ( #410 )
...
Refactorizations:
- Replaced || by %oror% in Token::Match patterns
- Replaced some simple patterns by direct comparisions, replaced Match call with simpleMatch
- Increased data encapsulation by making more members private in CheckNullpointer
2012-03-16 17:24:03 +01:00
August Sodora
e0bee0e037
Fixed #3567 (False positives in boolean expressions)
2012-03-07 20:31:23 +01:00
PKEuS
2e13a51d08
Fixed #3591
2012-02-13 19:46:45 +01:00
Erik Lax
f1dbd1a89a
Fixed #3518 (False negative: Possible null pointer dereference (in the same condition))
2012-02-11 16:15:38 +01:00
PKEuS
42f418db54
- Improved nullpointer check: Fixed #1171
...
- Improved accuracy of function analysis in symboldatabase
- Code cleanups
2012-02-11 12:26:48 +01:00
Daniel Marjamäki
036b2a84bf
Fixed #3570 (False Postive for 'nullPointer' check)
2012-02-01 20:38:47 +01:00
Edoardo Prezioso
bb703f4d0b
Fixed: (warning) Found simple pattern inside Token::Match() call.
2012-01-28 20:31:12 +01:00
Daniel Marjamäki
01f6bbda62
Null pointers: fixed false positive when '?' is used in return statement. Ticket: #3560
2012-01-28 08:06:03 +01:00
PKEuS
5c2af0b2e3
- initialising std::string with 0 in initialisation list is partially detected in nullpointer check ( #3520 )
...
- executionpath checking makes use of symboldatabase
- CheckExceptionSafety::checkRethrowCopy makes use of symboldatabase
2012-01-26 16:50:59 +01:00
Edoardo Prezioso
20372eecfa
Fixed gcc warning: variable which shadows a member of 'this'.
2012-01-26 15:20:20 +01:00
PKEuS
42a75692d4
Improved nullpointer check:
...
- More accurate checking for dereferences and non-dereferences
- improved checking for nullpointer dereferences after return statement
- Supports pointer dereferences by std::string
- Code optimization/refactorization
2012-01-25 15:16:22 +01:00
PKEuS
36479499e7
- Solved FIXME: Made detection of code that is no pointer-dereference more robust, uncommented code (checknullpointer.cpp)
...
- Removed more indendation level counters
- Make use of symbol database more often
- Other refactorizations
2012-01-21 19:55:32 +01:00
PKEuS
c294b15360
Removed more indendation counters.
2012-01-15 12:31:49 +01:00
Reijo Tomperi
8cae17fda8
Update year to 2012
2012-01-01 01:05:37 +02:00
Reijo Tomperi
0a588496a0
Fix astyle and test failures.
2011-12-28 22:05:10 +02:00
Daniel Marjamäki
379440e2a4
CheckNullPointer: Use Tokenizer::IsScopeNoReturn
2011-12-28 08:17:58 +01:00
Daniel Marjamäki
7f42300c18
Null pointer: Removed old code for handling exit(). No testing affected.
2011-12-28 08:07:21 +01:00
Daniel Marjamäki
91874214d8
Refactoring: Added utility function that determine if scope ends with a call to a noreturn function
2011-12-27 18:00:12 +01:00
Daniel Marjamäki
385afffb14
Null pointers: show inconclusive errors if functions are called. Assume they won't assign the pointer. Ticket: #3443
2011-12-26 07:13:10 +01:00
Daniel Marjamäki
b742c03b65
Fixed #3443 (false positives: possible null pointer dereference (calling unknown function))
2011-12-25 17:01:45 +01:00
Daniel Marjamäki
2bb5de4c89
Fixed #3425 (False positive: Null pointer dereference (pointer is checked in macro))
2011-12-18 13:33:23 +01:00
PKEuS
f306246c7f
Improved support for references and pointers in SymbolDatabase
...
Replaced several isPointer functions by Variable::isPointer function
Refactorizations & Make use of symbolDatabase more often
2011-12-17 19:04:03 +01:00
Daniel Marjamäki
e008a0508b
Null pointers: Fixed false positive when sizeof without parentheses are used
2011-12-17 12:44:11 +01:00
Daniel Marjamäki
9e54714894
CheckNullPointer::isPointerDeref: better checking if pointer is not dereferenced
2011-12-15 17:01:39 +01:00
Reijo Tomperi
dc59fc4391
astyle fix
2011-12-12 21:27:48 +02:00
Daniel Marjamäki
5f5c912f3f
temporary fix for inconclusive false warnings. there is not sufficient logic for determining when there is NOT a pointer dereference.
2011-12-12 07:43:33 +01:00
Daniel Marjamäki
2dbe7ca196
CheckNullPointer::isPointerDeRef: Skip inconclusive checking when --inconclusive hasn't been given.
2011-12-12 07:35:53 +01:00
Daniel Marjamäki
ffb5d107be
CheckNullPointer::isPointerDeRef: Tweaks to reduce false warnings when inconclusive is used.
2011-12-11 08:48:55 +01:00
PKEuS
91a0a071d0
Take symbol database into use or improve its usage in some checks.
2011-12-09 23:28:10 +02:00
Daniel Marjamäki
e2dd085b60
Fixed #3394 (False positive: possible null pointer dereference)
2011-12-08 19:30:14 +01:00
Daniel Marjamäki
c90558f730
Fixed #3358 (False null pointer dereference positive with ternary ?: operator)
2011-12-03 13:10:07 +01:00
Daniel Marjamäki
9a84c5845a
Fixed #3373 (False posititive: incorrect %* handling in sscanf)
2011-12-02 17:09:32 +01:00
Daniel Marjamäki
6763e596b9
Fixed #3345 (false positive: possible null pointer dereference (guarded by &&))
2011-12-02 06:11:55 +01:00
Edoardo Prezioso
767413adad
1)internal check found a 'findmatch' with simple string argument;
...
2)Style: uniform 'while (...)' when inside it there's an assignment;
3)Replace '0' with 'NULL' where there's comparison with a pointer.
2011-12-01 12:04:47 +01:00
PKEuS
ee3e10ea97
Fixed #3364 (Crash in printf parsing)
2011-11-30 20:23:29 +01:00
PKEuS
be0acad11f
Improvements to Nullpointer dereference on function call check:
...
printf format string parser improved (similar to my recent patch
on the argument counter), frexp/modf supported (#1572 ), Code
cleanup
2011-11-28 22:32:07 +02:00
PKEuS
2d3a232ef6
code refactoring
2011-11-27 07:30:58 +01:00
PKEuS
6b6f780057
code cleanups and refactorings
2011-11-26 21:02:04 +01:00
Richard Quirk
d76657fec8
Fix false positives for null pointer on exit
2011-11-23 21:27:15 +01:00
Edoardo Prezioso
42e369a4b4
Change every 'tokAt(..)->link()' to 'linkAt(..)'.
2011-11-20 14:24:27 +01:00
Richard Quirk
527236b321
Fix false positives for delete of known nulls
2011-11-13 22:38:34 +01:00
Edoardo Prezioso
2c64d299ca
Change every 'tokAt(...)->str()' to 'strAt(...)'.
2011-11-13 13:10:59 +01:00
Daniel Marjamäki
8bbd535267
Fixed #3290 (False positive: Null pointer dereference (typeid))
2011-11-11 09:58:17 +01:00
Reijo Tomperi
7b7e072b88
Fix #3278 (FP: Possible null pointer dereference with for loop)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/3278
Bail out if token "for" is encountered.
2011-11-07 22:10:21 +02:00
Daniel Marjamäki
63937f592e
Fixed #3228 (false positive: possible null pointer dereference)
2011-10-30 17:59:38 +01:00
Richard Quirk
a0a5b36667
Ensure single-argument constructors are explicit
2011-10-29 18:24:30 +02:00
Daniel Marjamäki
d75ef01d2b
Null pointer: Added inconclusive error message when calling member function of NULL object.
2011-10-29 15:48:54 +02:00
Reijo Tomperi
12a10a7297
Fix related to previously fixed #3256 (Null pointer dereference not detected)
...
Use reportInconclusiveError() instead of reportError().
2011-10-29 15:55:52 +03:00
Reijo Tomperi
5e0e2c4782
Fix #3256 (Null pointer dereference not detected)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/3256
It is now detected if --inconclusive command line argument is given (the argument is unofficial currently)
2011-10-29 11:35:31 +03:00
PKEuS
dfedeeb5c1
Bugfix: checknullpointer worked incorrect for complex first
2011-10-23 15:23:36 +02:00
PKEuS
54b3d72ee3
Added Token::nextArgument()
2011-10-23 11:23:48 +02:00
Daniel Marjamäki
3d18fdfa3f
Fixed #3220 (False positive: possible null pointer dereference: 'SwDoc *pDoc = NULL; pDoc->do_something();')
2011-10-18 19:34:14 +02:00
Daniel Marjamäki
d5883ef0c4
astyle formatting
2011-10-16 07:50:34 +02:00
PKEuS
71a1d98693
Fixed ##3211 (Crash in gitHEAD when arglist count is smaller than format string)
2011-10-16 07:06:18 +02:00
Daniel Marjamäki
6f8e42a5af
changed the astyle formatting flags
2011-10-13 20:53:06 +02:00
PKEuS
91d7621994
Fixed #3180 (New check: Detect nullpointers given to printf via variable argument list)
2011-10-12 22:11:27 +02:00
Daniel Marjamäki
175503ef94
Null pointer: improved inconclusive checking in CheckNullPointer::nullPointerAfterLoop
2011-10-09 15:09:02 +02:00
Daniel Marjamäki
0b09732881
Null pointers: fixed false negatives when there are '(p && ..'
2011-10-08 12:58:10 +02:00
Daniel Marjamäki
37d4a01dcb
Added todo comments to fix false negatives caused by my fix for #3128
2011-10-08 07:39:20 +02:00
Daniel Marjamäki
e2ec5a127f
Fixed #3128 (False positive: null pointer dereference check does not handle complex boolean logic properly)
2011-10-07 21:08:21 +02:00
Daniel Marjamäki
480c403511
Fixed #3125 (FP: Possible null pointer dereference in conditional operator)
2011-10-02 19:27:18 +02:00
Daniel Marjamäki
b2d0e48a31
Fixed #3126 (false positive: Null pointer dereference)
2011-10-02 18:24:45 +02:00
Daniel Marjamäki
2601733ff7
Uninitialized vars: handle printf a little better. Ticket: #3050
2011-09-05 20:18:58 +02:00
Daniel Marjamäki
d098ed6031
Fixed #3065 (False positive: possible null pointer dereference: vi)
2011-09-03 19:43:27 +02:00
Daniel Marjamäki
27b29e5b8e
Fixed #3023 (False positive: no possible null pointer dereference here: 'WARN_ON(!abc || abc->x == 0);')
2011-08-20 09:47:55 +02:00
Robert Reif
da9bf37918
refactor CheckNullPointer::nullPointerByDeRefAndChec() to pull variable type lookup out of loop
2011-08-14 10:53:09 -04:00
Daniel Marjamäki
a6a966e28e
Null pointer: Fixed false positive when condition contains assignment 'if (p==NULL && (p=malloc(10))!=NULL) *p=0;'
2011-08-07 17:06:25 +02:00
Daniel Marjamäki
08f27564fa
Null pointer: reduce false negatives in pointerDerefAndCheck
2011-08-02 17:04:07 +02:00
Daniel Marjamäki
825dce5c4e
Fixed #2954 (False negative: Null pointer dereference not detected '*p=4; if (p) { }')
2011-08-02 11:20:09 +02:00
Daniel Marjamäki
0c2f2e1c38
Null pointers: Fixed false negative when struct is dereferenced in condition
2011-08-01 21:57:23 +02:00
Daniel Marjamäki
a6c7ae8d51
Fixed #2789 (null pointer: problems not detected when pointer is assigned and checked if it's null in a if statement)
2011-08-01 07:51:32 +02:00
Daniel Marjamäki
1640f3d1ca
Null pointer: fix false negatives when unknown function is called and pointer is local/argument
2011-07-31 17:32:25 +02:00
Daniel Marjamäki
cc89687e8c
Null pointer: better handling when calling standard functions with possible null pointer
2011-07-31 17:19:23 +02:00
Daniel Marjamäki
dd6982a616
Fixed #2935 (possible null pointer dereference when using strcpy etc)
2011-07-31 14:07:35 +02:00
Daniel Marjamäki
7f193fb7a1
Fixed #2788 (null pointer: dereference and then check 'if (abc->a == 3) { } if (!abc) ..')
2011-07-30 19:51:06 +02:00
Daniel Marjamäki
a6740200cf
Null pointer: Added check for 'if (fred); return fred->a;'
2011-07-25 21:58:00 +02:00
Daniel Marjamäki
6e14da7eba
Fixed #2812 (false negative: null pointer dereference when returning struct member)
2011-07-25 21:40:32 +02:00
Daniel Marjamäki
2c6e4c423a
Fixed #2681 (False negative: Possible null pointer dereference)
2011-07-25 15:45:00 +02:00
Reijo Tomperi
382520ee9f
Fix #2840 , False positive: Null pointer dereference
...
http://sourceforge.net/apps/trac/cppcheck/ticket/2840
2011-06-26 22:46:33 +03:00
Daniel Marjamäki
e4f6d4c987
Fixed #2808 (False positive 'Possible null pointer dereference')
2011-06-21 18:45:30 +02:00
Robert Reif
a99aded1a4
add support for null pointer checking struct pointers
2011-05-27 23:30:19 -04:00
Daniel Marjamäki
7320bbd8fd
Refactoring: Use %op%
2011-04-09 18:44:07 +02:00
Daniel Marjamäki
266d1cc4d3
Null pointer: cleanup the code. Ticket: #2642
2011-04-03 21:55:21 +02:00
Martin Exner
bc3507118d
Fixed #2696 (False positive nullpointer)
2011-04-03 21:06:42 +02:00