Daniel Marjamäki
|
0c47555423
|
CheckNullPointer: use library instead of hard coded info
|
2014-01-26 16:19:49 +01:00 |
Daniel Marjamäki
|
be082a8e4a
|
value flow: added bailout for conditional return/continue/break when number_of_if is bigger than 0
|
2014-01-26 15:50:25 +01:00 |
Daniel Marjamäki
|
c5971b7137
|
value flow: fix fp when conditional value is assigned
|
2014-01-25 20:14:49 +01:00 |
Daniel Marjamäki
|
c1e35e1df1
|
value flow: fixed multivariable problem in condition
|
2014-01-25 19:13:33 +01:00 |
Daniel Marjamäki
|
d227ed245f
|
cleanup
|
2014-01-25 18:51:55 +01:00 |
Daniel Marjamäki
|
df0995edf5
|
Fixed #5403 (Value flow: FP because post increment/decrement is not handled correctly)
|
2014-01-25 18:31:02 +01:00 |
Daniel Marjamäki
|
bc9ad08831
|
Fixed #5245 (false positive: Uninitialized variable (assignment inside ternary operator))
|
2014-01-25 10:12:50 +01:00 |
Daniel Marjamäki
|
35b51468cb
|
value flow: Fixed FP for division then check in for loop: 'for (a=b/x;x>0;x--)'
|
2014-01-25 09:22:32 +01:00 |
Daniel Marjamäki
|
4647a9fc93
|
Fixed #5401 (value flow: fp when there are increment/decrement)
|
2014-01-24 18:22:38 +01:00 |
Daniel Marjamäki
|
1cac7e1686
|
value flow: better handling in function call bailout of casting address of variable
|
2014-01-24 17:47:49 +01:00 |
Daniel Marjamäki
|
135998abba
|
value flow: use const when possible
|
2014-01-24 06:16:23 +01:00 |
Heinrich Schuchardt
|
de20ba6763
|
[PATCH] Types in isRecordTypeWithoutSideEffects
The type definition of the iterator should match the type definition of the map <const Type *, bool>.
|
2014-01-24 06:10:19 +01:00 |
Daniel Marjamäki
|
85b6495cce
|
value flow: fixed comments
|
2014-01-23 19:40:47 +01:00 |
Daniel Marjamäki
|
ec034c1d59
|
Fixed #5386 (ast: hang when code is 'for (T a : b)')
|
2014-01-23 06:13:24 +01:00 |
Daniel Marjamäki
|
0dbb86f0cb
|
Cleanup ExecutionPath from CheckBufferOverrun
|
2014-01-22 21:25:37 +01:00 |
Daniel Marjamäki
|
1d7bb05faf
|
Remove ExecutionPath from CheckNullPointer
|
2014-01-22 20:24:51 +01:00 |
Daniel Marjamäki
|
f3f7e6d302
|
value flow: replacing executionpath checking of null pointers
|
2014-01-22 20:16:31 +01:00 |
Daniel Marjamäki
|
43db1ee797
|
value flow: use more specific bailouts when analysing value flow after assignment
|
2014-01-22 06:38:25 +01:00 |
Daniel Marjamäki
|
cc38dec3ad
|
value flow: a bit better handling of assigned variable
|
2014-01-22 06:10:17 +01:00 |
Daniel Marjamäki
|
2b7a991c1a
|
temporarily hide gcc warnings
|
2014-01-21 21:17:03 +01:00 |
Daniel Marjamäki
|
a27ccbd0f8
|
value flow: start implementing value flow analysis of assigned value
|
2014-01-21 21:13:49 +01:00 |
Daniel Marjamäki
|
a84fdf98cc
|
Null pointer: remove old checking that is replaced by value flow checking
|
2014-01-21 19:50:52 +01:00 |
Daniel Marjamäki
|
20b73747e0
|
value flow: refactor. added Token::getMaxValue()
|
2014-01-21 16:58:23 +01:00 |
Daniel Marjamäki
|
b91f42453b
|
value flow: improved handling of cast
|
2014-01-20 22:26:55 +01:00 |
Daniel Marjamäki
|
bb3cc67aaa
|
value flow: improved calculations that depends on variable
|
2014-01-20 21:45:30 +01:00 |
Daniel Marjamäki
|
69109784e8
|
value flow: cleanup usage of valueflow. utility function Token::getValue was added.
|
2014-01-20 06:49:45 +01:00 |
Daniel Marjamäki
|
add84187cc
|
CheckOther: Removed old zero division check
|
2014-01-20 06:31:13 +01:00 |
Daniel Marjamäki
|
7ff7bc1c2e
|
Fixed #5376 (false positive: zerodivcond (style) Either the condition 'B>0' is useless or there is division by zero)
|
2014-01-19 20:16:55 +01:00 |
Daniel Marjamäki
|
84c5f47eb1
|
value flow: bailout for class variables that are non-const
|
2014-01-19 11:55:02 +01:00 |
Daniel Marjamäki
|
ccda78f347
|
value flow: fixed todo assertion for handling of conditions
|
2014-01-19 09:31:40 +01:00 |
Daniel Marjamäki
|
cdaa7abf7e
|
value flow: better handling of conditional code below || && ?: operators
|
2014-01-19 09:05:48 +01:00 |
Daniel Marjamäki
|
2d0a68cac2
|
cleanup redundant variable inconclusive
|
2014-01-18 19:51:57 +01:00 |
Daniel Marjamäki
|
77f3f6c21a
|
valueflow: added setTokenValue that perform calculations using set value
|
2014-01-18 19:30:44 +01:00 |
Daniel Marjamäki
|
6a3a9ee8e7
|
ast: fixed tree for 'sizeof(struct S)'
|
2014-01-18 13:18:11 +01:00 |
Daniel Marjamäki
|
c7032a8867
|
value flow: improved handling of loops
|
2014-01-18 11:54:00 +01:00 |
Daniel Marjamäki
|
498cdb8610
|
added debug output for the value flow
|
2014-01-18 09:58:32 +01:00 |
Ryan Pavlik
|
32bf275447
|
Fix case-insensitive string compare function on MinGW
|
2014-01-17 15:29:53 -06:00 |
Daniel Marjamäki
|
3e23e243f6
|
BufferOverflow: Updated message for out of bounds array index or redundant condition
|
2014-01-17 19:44:45 +01:00 |
Daniel Marjamäki
|
57d318b2e5
|
valueflow: better handling of increment/decrement
|
2014-01-17 19:28:28 +01:00 |
Daniel Marjamäki
|
18d6285ad2
|
BufferOverrun: Improved error message when array index is used before checking that its in limits
|
2014-01-17 18:56:46 +01:00 |
Daniel Marjamäki
|
b2b5590f2b
|
Refactoring: Moved astStringify to the Token class and renamed it to expressionString. This can often be useful when reporting error messages that contains source code.
|
2014-01-17 18:37:49 +01:00 |
Daniel Marjamäki
|
30cae358d8
|
Removed the --value-flow flag. ValueFlow analysis will always be enabled from now on.
|
2014-01-17 18:07:05 +01:00 |
Daniel Marjamäki
|
5721e1d745
|
CheckNullPointer: Removed some of the old checking that doesn't use ValueFlow
|
2014-01-17 17:47:59 +01:00 |
Daniel Marjamäki
|
311059f603
|
Tokenizer: Removed commented-out simplification
|
2014-01-17 17:44:33 +01:00 |
Daniel Marjamäki
|
3facc06cb7
|
CheckOther: Removed non-valueflow check for division by possible zero before condition
|
2014-01-17 17:42:54 +01:00 |
Daniel Marjamäki
|
0203a4a6f5
|
Tokenizer: Removed simplifyGoto as it's the cause of various FPs I see
|
2014-01-17 17:36:45 +01:00 |
Daniel Marjamäki
|
4eb746d7cc
|
Tokenizer: Removed simplifyComparisonOrder
|
2014-01-17 17:25:56 +01:00 |
Daniel Marjamäki
|
0b4de97e2b
|
value flow: Use ValueFlow in CheckBufferOverrun
|
2014-01-16 19:23:14 +01:00 |
Daniel Marjamäki
|
85b73f7c24
|
ast: fixed hang for weird loop: 'for (each_window(list,p))'
|
2014-01-16 16:58:50 +01:00 |
Daniel Marjamäki
|
e72ec830ef
|
ast: fixed hang in for-loop handling
|
2014-01-16 06:45:35 +01:00 |
Daniel Marjamäki
|
141e089329
|
ast: different handling of for loops. create a syntax tree for whole 'f(a;b;c)'.
|
2014-01-15 17:32:14 +01:00 |
Daniel Marjamäki
|
c547c9a108
|
value flow: fixed fp when variable is used in for-loop condition
|
2014-01-14 17:57:50 +01:00 |
Daniel Marjamäki
|
e45a2e2c61
|
Fixed #5347 (False positive: uninitialized variable (try catch))
|
2014-01-14 06:24:09 +01:00 |
Robert Reif
|
d679a4c1f7
|
Fixed #5248 (False positive: Invalid argument in scanf for %zd)
|
2014-01-14 06:09:13 +01:00 |
Daniel Marjamäki
|
c1c2f4bbc6
|
value flow: fixed crash reported in #5343 when typeStartToken and typeEndToken are misplaced.
|
2014-01-13 20:54:09 +01:00 |
Daniel Marjamäki
|
7981e3d38f
|
value flow: fix fp when gotos are used
|
2014-01-13 16:07:25 +01:00 |
Daniel Marjamäki
|
bfc67a536a
|
value flow: fixed fp when self-checking checkbool.cpp. added some comments.
|
2014-01-13 06:15:21 +01:00 |
Daniel Marjamäki
|
b1bbb23225
|
value flow: fixed fp when checking symboldatabase
|
2014-01-13 05:52:28 +01:00 |
Daniel Marjamäki
|
f6c7be91a9
|
Fixed cppcheck warning
|
2014-01-12 21:19:20 +01:00 |
Daniel Marjamäki
|
8b6f001f94
|
value flow: inconclusive handling of unknown functions
|
2014-01-12 19:48:20 +01:00 |
Daniel Marjamäki
|
5d2a39b580
|
CheckNullPointer: improved function call checking when new value flow analysis is used
|
2014-01-12 19:27:26 +01:00 |
Daniel Marjamäki
|
2e67ca06c0
|
value flow: some simplifications in unknown functions when there is library configuration
|
2014-01-12 18:19:00 +01:00 |
Daniel Marjamäki
|
ab866be03a
|
Tokenizer: Move 'else if' simplification to tokenize
|
2014-01-12 17:47:02 +01:00 |
Daniel Marjamäki
|
d700114edf
|
value flow: bailout if condition is defined by macro
|
2014-01-12 17:16:51 +01:00 |
Heinrich Schuchardt
|
f6510a6b45
|
Fixed #5339 (Tokenizer::setVarId : function-pointer function argument not getting variable id, causing FP)
|
2014-01-12 15:15:09 +01:00 |
Daniel Marjamäki
|
3d79613f2b
|
value flow: more bailouts when return/break/continue/goto is reached. TODO: handle these better.
|
2014-01-12 15:07:58 +01:00 |
Daniel Marjamäki
|
155990cb0e
|
value flow: improved checking of do-while loops for non-local variables
|
2014-01-12 15:02:58 +01:00 |
Daniel Marjamäki
|
5b679fc732
|
value flow: fixed fp for data member
|
2014-01-12 14:37:26 +01:00 |
Alexander Mai
|
86763b401c
|
Fixed #5340 (Preprocessor: not using errorLogger when reporting syntax errors)
|
2014-01-12 13:15:54 +01:00 |
PKEuS
|
b775714e3d
|
Moved several hardcoded function names in format string checking into libraries (std.cfg and windows.cfg).
Added support for loading a library in test suite.
|
2014-01-12 03:44:24 -08:00 |
Daniel Marjamäki
|
21d317b7d6
|
value flow: fixed redundant null pointer check
|
2014-01-12 12:38:41 +01:00 |
Daniel Marjamäki
|
d8262963d9
|
value flow: condition in loop, bailout valueflow analysis before loop if there is assignment inside the loop
|
2014-01-12 11:58:10 +01:00 |
Daniel Marjamäki
|
e3496080c8
|
Fixed #5334 (False positive: same expression on both sides of '||')
|
2014-01-12 07:40:56 +01:00 |
Daniel Marjamäki
|
f58e1ab80e
|
value flow: fixed fp in switch
|
2014-01-11 21:21:00 +01:00 |
Daniel Marjamäki
|
3625d179e5
|
value flow: don't perform value flow analysis in sizeof/typeof expressions
|
2014-01-11 21:10:01 +01:00 |
Daniel Marjamäki
|
680d3f1312
|
value flow: fixed fp for nested assignments
|
2014-01-11 20:53:23 +01:00 |
Daniel Marjamäki
|
4d045879aa
|
value flow: fixed fp when while condition contains variable that is changed in loop body
|
2014-01-11 20:25:49 +01:00 |
Daniel Marjamäki
|
75f9111775
|
value flow: bailout when variable is used in assignment to itself
|
2014-01-11 15:36:09 +01:00 |
Daniel Marjamäki
|
1fc2c9fe79
|
ast: fixed syntax tree for statement enclosed in parentheses ';(expr);'
|
2014-01-11 15:18:39 +01:00 |
Daniel Marjamäki
|
ceca6be22b
|
Fixed #5334 (False positive: same expression on both sides of '||')
|
2014-01-11 15:15:01 +01:00 |
Daniel Marjamäki
|
eaf8c83db5
|
value flow: refactoring. broke out function for skipping value simplifications in expressions.
|
2014-01-11 14:54:10 +01:00 |
Daniel Marjamäki
|
85dcb14813
|
value flow: bailout in valueFlowBeforeCondition if variable can be assigned by subfunction
|
2014-01-11 14:31:51 +01:00 |
Daniel Marjamäki
|
225001a45c
|
value flow: changed astparent lookup
|
2014-01-11 12:47:47 +01:00 |
Daniel Marjamäki
|
02b92efd1a
|
value flow: improved analysis of expressions below ?, && and || operators
|
2014-01-11 12:44:55 +01:00 |
Daniel Marjamäki
|
60348da1b5
|
value flow: fixed fp for rhs in && and || expressions
|
2014-01-11 11:30:34 +01:00 |
Daniel Marjamäki
|
1ad94a8be5
|
value flow: loosen up bailouts in valueFlowSubFunction
|
2014-01-11 07:52:25 +01:00 |
Daniel Marjamäki
|
57d241793f
|
value flow: fix segfault if var is null
|
2014-01-10 18:30:41 +01:00 |
Daniel Marjamäki
|
c687933e9f
|
value flow: improved handling of for loops
|
2014-01-10 18:19:24 +01:00 |
Daniel Marjamäki
|
3eebc8a9f1
|
test1
|
2014-01-10 16:51:58 +01:00 |
Daniel Marjamäki
|
3e7f692d4d
|
value flow: stop checking global variable when going out of function scope
|
2014-01-10 16:17:19 +01:00 |
Daniel Marjamäki
|
acb103e214
|
value flow: skip scopes that don't contain variable
|
2014-01-10 16:13:39 +01:00 |
Daniel Marjamäki
|
81513b4346
|
value flow: Readded safety check that tok->astOperand1() is not NULL
|
2014-01-10 05:54:03 +01:00 |
Daniel Marjamäki
|
d085705e8f
|
value flow: assume that value of global const variable is not changed
|
2014-01-10 05:47:56 +01:00 |
Daniel Marjamäki
|
a26c5736da
|
Library: Allow loading xml data from memory
|
2014-01-09 21:58:56 +01:00 |
Daniel Marjamäki
|
752e9d0fb7
|
Tokenizer::varId: Fixed wrong varid for shadow types with same names as class members
|
2014-01-09 21:44:29 +01:00 |
Daniel Marjamäki
|
1be30bf022
|
ast: fixed handling of templates
|
2014-01-09 17:14:16 +01:00 |
XhmikosR
|
f9dd9676be
|
Fix the C4099 warning.
|
2014-01-09 16:58:42 +02:00 |
Daniel Marjamäki
|
04cb56e070
|
ast: fixed trouble with 'ab=a+(b/(c))+d;' where the '(c)' could be mistaken for a cast
|
2014-01-08 21:49:42 +01:00 |
Daniel Marjamäki
|
4f11086505
|
Tokenizer: Don't remove parentheses in 'a?b:(c>0?d:e)'
|
2014-01-08 20:53:33 +01:00 |
Daniel Marjamäki
|
32f2ee422f
|
value flow: fixed segfault and added more handling of unsigned values
|
2014-01-08 20:10:38 +01:00 |