Daniel Marjamäki
b2288e5ada
Fixed #6022 (Defect: False positive due to bug in determining bounds of for loop 'for (i = 2; i < 1; ++i)')
2014-08-18 16:45:22 +02:00
Dmitry-Me
443e846b2e
Remove duplicate return statements.
2014-08-18 16:02:35 +04:00
Dmitry-Me
a386fbb665
Avoid mutually exclusive checks
2014-08-18 14:30:52 +04:00
Dmitry-Me
120e8c0674
Make loop termination more explicit.
2014-08-18 14:00:25 +04:00
PKEuS
5483c8ed5e
Removed obsolete function from checkNullPointer
2014-08-18 11:42:50 +02:00
PKEuS
e7754be316
Fixed #6056 - properly detect member functions in setVarId()
2014-08-18 11:07:56 +02:00
PKEuS
a69860eb70
Fixed false positive #6066 : va_list may be used after being copied.
2014-08-18 10:40:39 +02:00
PKEuS
5c54f8d0d8
Support namespaces and static member variables in setVarId (only one depth) ( #6061 )
2014-08-18 10:25:30 +02:00
PKEuS
0bf7b03f96
Refactorization: Support :: in some places in checkother.cpp
2014-08-18 10:25:30 +02:00
PKEuS
df080ab5c3
Refactorization in valueflow.cpp: Removed redundant loop, rearranged code.
2014-08-18 10:25:30 +02:00
Daniel Marjamäki
d44d6ad94a
incorrect logic operator: fixed crashes
2014-08-18 05:37:07 +02:00
Alexander Mai
66d767b4b5
#6050 arithmetic on void** - fix false positive
2014-08-17 19:14:55 +02:00
Daniel Marjamäki
a52c122229
Tokenizer::createLinks2: set no template-links in 'if (a < b || c > d)'
2014-08-17 19:03:06 +02:00
Daniel Marjamäki
ebc0b6cd44
astIsFloat: Fix crash when there is no second operand for '.'
2014-08-17 14:28:31 +02:00
Daniel Marjamäki
f7f44f24c7
Fixed #5132 (False negative: incorrectLogicOperator in simple if-clause)
2014-08-17 14:04:40 +02:00
Daniel Marjamäki
5cdbe0f42d
ValueFlow: Improved value flow after for loop
2014-08-17 10:40:22 +02:00
Daniel Marjamäki
75ec97ad23
Tokenizer::simplifyKnownVariables: Fixed bad simplification in for loop header
2014-08-17 07:39:42 +02:00
Daniel Marjamäki
7ca742c454
Fixed #5062 (ValueFlow: Handle comma operator in abstract interpretation)
2014-08-17 06:42:16 +02:00
Daniel Marjamäki
65f10edcb6
Fixed #5866 (False negative: useless condition or null pointer dereference (null object after while loop, method))
2014-08-16 18:32:25 +02:00
Daniel Marjamäki
76510e0006
null pointer: perform proper null pointer checking when no --enable=warning is given.
2014-08-16 12:48:20 +02:00
Dmitry-Me
e91a63c834
Resolve CID 1037101. break after loop if tok is null because tok is dereferenced below. Ticket: #6055
2014-08-15 18:39:15 +02:00
Daniel Marjamäki
364c975701
Fixed #5557 (astIsFloat: better handling of '.')
2014-08-15 16:48:53 +02:00
Dmitry-Me
7e442cf75d
Some safe coding. Check that pointer is not null.
2014-08-14 16:10:12 +02:00
Daniel Marjamäki
543589564d
Merge pull request #394 from Dmitry-Me/resolve1132030
...
Resolve CID 1132030
2014-08-14 13:28:59 +02:00
Daniel Marjamäki
6db3eabadb
Merge pull request #393 from Dmitry-Me/furtherResolve1222223
...
Further resolve CID 1222223
2014-08-14 09:54:13 +02:00
Daniel Marjamäki
b8e356462a
Dead pointer: Fixed FP for subfunction pointer argument
2014-08-14 06:47:19 +02:00
Daniel Marjamäki
e83f08a825
Fixed #6044 (hang: darkplaces / cl_particles.c)
2014-08-14 06:13:42 +02:00
Daniel Marjamäki
f0cb6ef33d
Change fix for hang so there won't be FP
2014-08-13 05:36:17 +02:00
Daniel Marjamäki
bdfe43d82c
Fix hang in libdmtx package. found through daca2.
2014-08-13 04:03:17 +02:00
Dmitry-Me
b022afae75
Resolve CID 1132030
2014-08-12 13:04:32 +04:00
Dmitry-Me
0991d42cb9
Further resolve CID 1222223
2014-08-12 11:14:28 +04:00
Daniel Marjamäki
970fda9e79
ValueFlow: Fixed nullpointer FP warning in checksizeof
2014-08-11 16:21:20 +02:00
PKEuS
5d302716e7
Refactorized Variable::isIntegralType() and Variable::isFloatType():
...
- Cached property
- Make use of it in several checks
- float* is flagged as floating point type
2014-08-09 11:45:13 +02:00
PKEuS
2d06786c3f
Merge pull request #388 from Dmitry-Me/resolveIssue1037100
...
Resolve CID 1037100: possible dereference of _errorLogger nullpointer
2014-08-09 10:35:18 +02:00
PKEuS
728d0fb9dc
Merge pull request #390 from Dmitry-Me/suppressGccShadowingWarning
...
Avoid GCC name shadowing warning.
2014-08-09 10:34:36 +02:00
PKEuS
865df4e207
Fixed false negative #4306 : Detect loop access of empty STL container
2014-08-09 10:06:44 +02:00
PKEuS
5ddee75b5d
Removed newline from divideBySizeofError message
2014-08-08 09:59:55 +02:00
PKEuS
5c238692e6
New check: Division by sizeof() as parameter to memset/memcpy/memmove/etc. as they expect a size in bytes ( #5698 )
...
Refactorizations in sizeof checking:
- Changed severity of sizeofwithsilentarraypointer to warning
- Made pointerSize message conclusive - there seems to be no reason for inconclusive
2014-08-08 09:49:09 +02:00
PKEuS
c4635cf698
Improved check: portability message when calling memset on a class with floating point numbers ( #5421 )
2014-08-08 09:49:09 +02:00
PKEuS
a1b7ab277b
Changed handling of unhandled characters:
...
- Don't abort checking (reverts 42140b6488
)
- Modified error message: New Id unhandledCharacter, removed redundant line information, improved message text
2014-08-08 09:49:09 +02:00
PKEuS
56ba4b6a92
Fixed crash if va_start is passed less arguments than expected
2014-08-06 20:53:13 +02:00
PKEuS
076c1bd06c
Fixed crash in CheckVaarg::va_start_argument ( #6032 )
2014-08-06 19:35:09 +02:00
PKEuS
b708022e97
Fixed cppcheck message
2014-08-06 14:31:09 +02:00
PKEuS
639f1fa85a
Fixed another variable shadowing warning.
2014-08-06 14:27:03 +02:00
Matthias Krüger
b5cf56790c
dmake: update
2014-08-06 14:25:49 +02:00
PKEuS
5f7b4ad0ae
Added several new va_arg related checks:
...
- Wrong parameter passed to va_start() (#3850 )
- Reference passed to va_start() (#3849 )
- Missing va_end() (#3295 )
- Using va_list before it is opened (#3295 )
- Subsequent calls to va_start/va_copy()
2014-08-06 14:20:46 +02:00
PKEuS
e4b55cf843
Fixed a bug and two warnings introduced recently.
2014-08-06 13:35:39 +02:00
Dmitry-Me
3ec821df34
Avoid GCC name shadowing warning.
2014-08-06 15:35:04 +04:00
PKEuS
c3577bc8dd
Fixed crash, simplified code in testassert.cpp
2014-08-06 12:24:21 +02:00
PKEuS
d3a567bf96
Fixed false positive #5824 : Variables that might be used for va_start() must not be passed by reference.
2014-08-06 12:06:36 +02:00
PKEuS
adcc8b1634
Implement support for __attribute__((used)) ( #3408 )
2014-08-06 11:13:58 +02:00
PKEuS
8da61ab71a
Refactorized CheckAssert::assertWithSideEffects():
...
- Removed crap
- Error message on calling non-const member function in assert()
- Fixed false positive #5311 and TODO_ASSERT
2014-08-06 10:15:48 +02:00
Dmitry-Me
51fab1f9f1
Resolve CID 1037100
2014-08-06 11:20:04 +04:00
PKEuS
fd5ff1bb8b
Fixed false positive #6030 : inheriting classes is not a variable declaration.
2014-08-06 09:04:03 +02:00
PKEuS
e7605d6f77
Merge pull request #387 from Dmitry-Me/resolveIssue1037105
...
Resolve CID 1037105
2014-08-06 08:42:01 +02:00
PKEuS
83a80cebeb
Fixed order of simplifications ( #6029 )
2014-08-06 08:39:23 +02:00
Dmitry-Me
644d83e91b
Resolve CID 1037105
2014-08-06 10:05:32 +04:00
Daniel Marjamäki
8bbbb54f94
Refactoring valueFlowSubFunction
2014-08-06 06:33:06 +02:00
Moshe Kaplan
4894d3807d
Improved invalidScanf error message
2014-08-06 06:08:28 +02:00
Daniel Marjamäki
f2fdc4fb14
Merge pull request #385 from Dmitry-Me/resolveIssue1222223
...
Resolve CID 1222223.
2014-08-05 17:48:04 +02:00
PKEuS
8130fda4ae
Implemented support for C++11 uniform initialization in several checks.
2014-08-05 16:11:42 +02:00
PKEuS
f3e0df7501
Support C++11 style initialization with {}:
...
-> Support in setVarId and SymbolDatabase (#4344 )
-> Fixed false positives in unused variable checking (#5491 , #5494 )
Side-effect: Support global variables initialized with brackets (C++03 style) in SymbolDatabase
2014-08-05 15:33:57 +02:00
PKEuS
4207b3cb66
Fixed error message.
2014-08-05 11:59:53 +02:00
PKEuS
804e055eee
New check: initialization by itself in initializer list ( #3982 )
...
Refactorizations:
- Rearranged code in checkclass.cpp to increase readability
- Several fixes for testclass.cpp tests.
2014-08-05 11:50:08 +02:00
Daniel Marjamäki
9eb28cb8af
ValueFlow: Improved analysis of assignments
2014-08-05 08:28:46 +02:00
Daniel Marjamäki
a2f776b1b7
Dead pointer: Added checking for dead pointer usage when pointer alias local variable that has gone out of scope.
2014-08-05 06:24:23 +02:00
Daniel Marjamäki
eac337b955
Fixed Cppcheck warning about 'null pointer dereference or redundant condition'
2014-08-04 15:15:41 +02:00
Daniel Marjamäki
d35ce5f0db
ValueFlow: Better handling of calculated function arguments in valueFlowSubFunction
2014-08-04 12:31:04 +02:00
Daniel Marjamäki
344016f7ab
ValueFlow: Handle string values in valueFlowSubFunction
2014-08-04 12:13:15 +02:00
PKEuS
ac59485e7e
Refactorized CheckAutoVariables::assignFunctionArg():
...
- Splitted message into style message (assigning non-pointers) and warning message (assigning pointers)
- Support operator++/-- (#4793 )
2014-08-04 11:45:24 +02:00
PKEuS
4a3d719386
Fixed recently introduced FP when C-Style casting nullpointers
2014-08-04 11:42:14 +02:00
PKEuS
4c80ca4e8e
Improved cstyleCast check:
...
- Detect casting of literals
- Check initializer lists (#3630 )
2014-08-04 11:21:25 +02:00
Daniel Marjamäki
47a2b35e98
BufferOverrun: Use ValueFlow string values more
2014-08-04 08:25:10 +02:00
Dmitry-Me
8cd6e490d9
Resolve CID 1222223.
2014-08-04 10:00:53 +04:00
Daniel Marjamäki
ab958e7710
Fixed Cppcheck warning
2014-08-04 06:30:20 +02:00
Daniel Marjamäki
79fc549de0
ValueFlow: start adding valueflow handling of strings and pointer aliases
2014-08-03 20:11:22 +02:00
PKEuS
57c055fcc4
Fixed false negative #5985 : default argument values should not affect variable usage checking.
2014-08-03 19:13:37 +02:00
PKEuS
de66ed4071
Added missing message to --errorlist output, changed Id to avoid duplicate
2014-08-02 20:55:59 +02:00
PKEuS
6d5603af45
Increased version to 1.66.99/1.67 dev
2014-08-02 18:07:01 +02:00
Daniel Marjamäki
1c8c26a488
1.66: Set version
2014-08-02 11:58:30 +02:00
PKEuS
e486e8cc62
Updated WiX installer and VS solution to VS12 and Qt5
2014-08-02 11:52:37 +02:00
PKEuS
6d3cb86d2a
Merge pull request #382 from Dmitry-Me/bringDeclarationsCloserToWhereTheyAreNeeded
...
Bring variable declarations closer to where they're first used.
2014-08-02 11:12:34 +02:00
Daniel Marjamäki
f2e3700142
Merge pull request #383 from moshekaplan/patch-1
...
Updated message for strncat usage
2014-08-02 11:10:16 +02:00
Daniel Marjamäki
7237b01979
Fixed Cppcheck warning
2014-08-02 10:07:23 +02:00
Daniel Marjamäki
4dc73e3a5b
Use Token::simpleMatch for simple pattern
2014-08-01 17:47:02 +02:00
Daniel Marjamäki
3f5da22d2b
Tokenizer: Added FIXME for keywords handling
2014-08-01 17:27:35 +02:00
Daniel Marjamäki
a943a0739a
Tokenizer: Don't remove struct member in Tokenizer::simplifyKeyword()
2014-08-01 17:19:08 +02:00
Daniel Marjamäki
f908959196
ValueFlow: improved analysis in for loops to avoid fp
2014-08-01 16:12:57 +02:00
Daniel Marjamäki
544a5957e1
Token: Added utility function getStrSize as a complement to getStrLength
2014-08-01 13:12:18 +02:00
Daniel Marjamäki
404c13ef4b
Fixed ValueFlow --debug output
2014-08-01 09:50:30 +02:00
Daniel Marjamäki
688b798b88
ValueFlow: Cleanup variable
2014-08-01 08:59:07 +02:00
Daniel Marjamäki
57c2e928d1
ValueFlow: Simple multivariable control flow analysis to avoid FP when 'control variable' is used
2014-08-01 07:35:15 +02:00
PKEuS
95afa51b24
Fixed crash #5991 : Don't crash when lambda is incomplete
...
Fixed crash #6004 : Support struct initializations in AST
2014-07-31 23:15:36 +02:00
Moshe Kaplan
e881495eaf
Updated message for strncat usage
2014-07-31 13:51:29 -04:00
Daniel Marjamäki
5de1e35350
CheckBufferOverrun: Fixed minsize checking of string literals. Check sizeof string instead of strlen.
2014-07-30 20:35:21 +02:00
Daniel Marjamäki
25846cf223
ValueFlow: Fix for if/else valueflow analysis
2014-07-30 18:12:33 +02:00
Daniel Marjamäki
473b1bdb2b
Multicondition: Fixed FP when using dynamic_cast
2014-07-30 11:23:09 +02:00
Dmitry-Me
ee180787eb
Bring variable declarations closer to where they're first used.
2014-07-29 13:59:45 +04:00
Daniel Marjamäki
905a383ac2
Merge pull request #381 from Dmitry-Me/checkBooleanFlagFirst
...
Run cheaper check first, don't check the same condition twice.
2014-07-28 18:02:49 +02:00
Daniel Marjamäki
8a1c5d6fce
Fixed #6011 (crash: libreoffice/binfilter svt_enhwmf.cxx)
2014-07-28 16:33:42 +02:00