Georgy Komarov
1c12b4fd78
ExprEngine: Handling cases when for condition is always false ( #2984 )
2020-12-26 21:29:50 +01:00
Paul Fultz II
bd22070df5
Fix issue 10027: Segmentation fault in ValueFlowAnalyzer::analyze ( #2987 )
2020-12-26 21:26:39 +01:00
Daniel Marjamäki
9d54303cfa
Clang import; Fixed segmentation fault
2020-12-26 19:59:57 +01:00
Daniel Marjamäki
d024eb3ee0
Fixed #10051 (AST: Wrong ast for function call with initializer list)
2020-12-26 18:33:54 +01:00
orbitcowboy
38fc6f209d
Running astye [ci skip]
2020-12-26 14:02:03 +01:00
Oliver Stöneberg
00071d09f6
split "valueFlowBailoutIncompleteVar" from more generic "valueFlowBailout" ( #2976 )
2020-12-26 13:48:22 +01:00
Oliver Stöneberg
fa8a836925
fixed some clang warnings ( #2980 )
2020-12-26 13:46:28 +01:00
IOBYTE
765c1ace87
fix #10008 (false negative: knownEmptyContainer with alias in namespace and "using namespace") ( #2979 )
2020-12-26 13:45:17 +01:00
Daniel Marjamäki
f700d81e59
ImportProject: Fixed compile_commands.json problems
2020-12-25 14:47:01 +01:00
orbitcowboy
53a4f68cb2
wxwidgets.cfg: Added support for more interface, found by daca@home
2020-12-25 12:16:06 +01:00
Daniel Marjamäki
cf57233f5d
ImportProject: Try to handle -D and -I in the same way
2020-12-25 11:51:24 +01:00
Daniel Marjamäki
bcf6039558
Fixed #10058 (False positive: redundant assignment, there is break)
2020-12-25 09:08:15 +01:00
Daniel Marjamäki
8fcef7ad0d
astyle formatting
...
ci skip
2020-12-25 08:58:12 +01:00
Daniel Marjamäki
b8f45a5c65
Replace and fix findBreakScope with findNextTokenFromBreak
2020-12-25 08:43:14 +01:00
Daniel Marjamäki
8bd783f820
Refactoring; Added findBreakScope and Scope::isLoopScope()
2020-12-24 22:58:31 +01:00
Paul Fultz II
7861aa00cf
Refactor afterCondition handlers into to seperate classes ( #2975 )
2020-12-24 20:07:46 +01:00
Ken-Patrick Lehrmann
aad723bf3a
Fix false positive AssignmentIntegerToAddress ( #2971 )
2020-12-24 19:57:02 +01:00
Paul Fultz II
e12a733ee9
Fix issue 10053: False positive: Same value on both branches of ternary operator ( #2962 )
2020-12-23 13:37:28 +01:00
Daniel Marjamäki
d1139db960
astyle formatting
...
[ci skip]
2020-12-22 21:30:15 +01:00
Daniel Marjamäki
e4766c73dc
ExprEngine; Use 60s as default maxtime processing a function, the analysis time will be somewhat reasonable
2020-12-22 21:09:24 +01:00
Georgy Komarov
259f562e73
ExprEngine: Add condition branches for the while loops ( #2970 )
2020-12-22 20:21:57 +01:00
Daniel Marjamäki
a9e7974963
ExprEngine: use 'real' instead of 'fpa' values in latest Z3 for floats
2020-12-22 18:05:21 +01:00
Daniel Marjamäki
315892d991
ExprEngine; add a 'stupid' handling of floating point promotions for integers
2020-12-22 17:15:11 +01:00
Daniel Marjamäki
1812951640
ExprEngine; Fix problem when float suffix is used
2020-12-22 15:17:36 +01:00
Daniel Marjamäki
347fccb207
ExprEngine; Avoid overspecified constraints
2020-12-22 11:10:01 +01:00
amai2012
f0da9098b9
Set language compatibility to C++14 in Visual Studio ( #2967 )
...
There is no C++11 flag
2020-12-22 10:24:25 +01:00
Georgy Komarov
0731df7d2d
ExprEngine: Add FP and String literals in determining that condition can ( #2969 )
2020-12-22 09:25:54 +01:00
Daniel Marjamäki
fcb496fb40
Fixed compiler error
2020-12-22 08:17:14 +01:00
Daniel Marjamäki
f6447cc546
ExprEngine; Wrap z3 interface that is not the same in different z3 versions
2020-12-22 08:13:40 +01:00
Daniel Marjamäki
13ed2effa1
astyle formatting
...
[ci skip]
2020-12-22 08:09:51 +01:00
IOBYTE
2ecab32fbe
fix debug printing of valuetype name with namespaces ( #2968 )
2020-12-21 19:47:54 +01:00
Daniel Marjamäki
c3e798968c
ExprEngine; Fix floating point comparison
2020-12-21 13:28:10 +01:00
Georgy Komarov
86f1ee5267
ExprEngine: Add workarounds for z3 bugs with FP comparisson ( #2965 )
2020-12-21 12:32:26 +01:00
abhijit-sawant
7d6fc23022
Checking in fix for issue 9957 - - False negative: duplInheritedMember ( #2964 )
2020-12-21 07:14:52 +01:00
Daniel Marjamäki
47bb487c95
Visual Studio; Try to fix compilation
2020-12-20 21:01:45 +01:00
Daniel Marjamäki
37a5ec8cd5
Summaries: Moved to its own files
2020-12-20 19:53:58 +01:00
Daniel Marjamäki
5701f6d368
ExprEngine: Added ifIntRangeAlwaysFalse and ifIntRangeAlwaysTrue tests
2020-12-20 19:04:46 +01:00
Daniel Marjamäki
229e39e7de
Revert "ExprEngine: Fixed float value"
...
This reverts commit 1f9edc6a66
.
2020-12-20 16:36:22 +01:00
Daniel Marjamäki
40e24cf417
Revert "ExprEngine; Try to fix assertion failure for floats"
...
This reverts commit aaabc74b9f
.
2020-12-20 16:36:11 +01:00
Daniel Marjamäki
aaabc74b9f
ExprEngine; Try to fix assertion failure for floats
2020-12-20 16:31:53 +01:00
Daniel Marjamäki
1f9edc6a66
ExprEngine: Fixed float value
2020-12-20 15:22:11 +01:00
Daniel Marjamäki
1ce5beb45f
ExprEngine; refactoring if()
2020-12-20 14:51:03 +01:00
Daniel Marjamäki
1bf6a2f62b
Summaries: Enhanced merge of noreturn info
2020-12-20 14:49:43 +01:00
Heiko Bauke
077fcad4ee
fix compile-time rounding error and fix overflow check ( #2937 )
...
fixes implicit conversion from 'unsigned long long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
2020-12-20 08:09:39 +01:00
Daniel Marjamäki
7a7d51a548
Fixed Cppcheck warning. Using emplace is not allowed for now for compatibility reasons.
2020-12-20 07:52:09 +01:00
Daniel Marjamäki
28e33ef0b9
Fix Cppcheck performance warning stlFindInsert properly
2020-12-19 22:23:39 +01:00
Wolfgang Stöggl
079255d913
Fix gcc11 build errors ( #2963 )
2020-12-19 21:54:19 +01:00
Daniel Marjamäki
d3d36dad2a
Suppress false positive stlFindInsert
2020-12-19 21:53:23 +01:00
Daniel Marjamäki
a493e17a6a
Tweaks to use summaries in GUI
2020-12-19 20:46:00 +01:00
Daniel Marjamäki
96caaedbd5
Generate basic function summaries
2020-12-19 19:02:42 +01:00
Paul Fultz II
a770342593
Fix crash in getInitListSize ( #2960 )
2020-12-19 12:23:19 +01:00
Daniel Marjamäki
1744cbaf66
astyle formatting
...
[ci skip]
2020-12-19 08:56:46 +01:00
miltolstoy
6366a577f9
feat(unused_var): analyze global variables inside function body ( #2944 )
2020-12-19 08:55:19 +01:00
Paul Fultz II
626dcd0eba
Fix issue 10037: False positive when passing variables to functions by address ( #2957 )
2020-12-19 08:29:37 +01:00
Paul Fultz II
2541b6034f
Fix issue 10049: False positive: generic reverse valueflow analysis ( #2959 )
2020-12-19 08:28:58 +01:00
Daniel Marjamäki
164c6b3441
Bug hunting; Detect array index out of bounds for multi dimensional arrays also
2020-12-18 21:32:23 +01:00
Daniel Marjamäki
33cde46068
astyle formatting
...
[ci skip]
2020-12-18 21:31:44 +01:00
Daniel Marjamäki
62a11f6490
Bug hunting; Fixed timeout
2020-12-18 20:41:10 +01:00
Daniel Marjamäki
1b0ca0811f
Bug hunting; option to set function analysis max time
2020-12-18 19:59:10 +01:00
IOBYTE
f2cf11682a
fix #10040 (symbolDatabaseWarning: debug: Executable scope 'x' with unknown function.) ( #2955 )
2020-12-18 07:46:01 +01:00
Paul Fultz II
b044f9ba96
Fix issue 9996: false negative: containerOutOfBounds with std::vector::front() and c++11 braced initializer ( #2958 )
2020-12-18 07:14:11 +01:00
Daniel Marjamäki
0b98053790
Fixed Cppcheck warning; Redundant assignment
2020-12-17 15:29:15 +01:00
Daniel Marjamäki
75f2ab20e8
Bug hunting; void* => might point at uninitialized data
2020-12-17 07:32:53 +01:00
Daniel Marjamäki
8619bfe957
Bug hunting; Remove old value from array when it is overwritten
2020-12-16 19:06:20 +01:00
Paul Fultz II
c9d2e55ea9
Fix issue 10035: FP: knownConditionTrueFalse when bool updated in for loop ( #2953 )
2020-12-16 17:25:21 +01:00
IOBYTE
2a05bc565d
insert simplified types for implicit template type deduction ( #2952 )
...
Co-authored-by: Robert Reif <reif@FX6840>
2020-12-15 22:28:58 +01:00
Daniel Marjamäki
ecfabbcdbb
Fix Cppcheck warning nullPointerRedundantCheck
2020-12-15 07:11:13 +01:00
Daniel Marjamäki
82635417d2
Bug hunting; Fixed array init
2020-12-14 22:15:10 +01:00
Daniel Marjamäki
4e90356a76
Bug hunting; Code cleanup
2020-12-14 18:04:12 +01:00
Daniel Marjamäki
116119083b
Bug hunting; Better result from function that returns unknown pointer result
2020-12-14 17:53:28 +01:00
Daniel Marjamäki
ab3614b4e2
Bug hunting; Improved debug output for structs
2020-12-14 12:32:39 +01:00
Paul Fultz II
da1375c9a3
Fix issue 10024: FP: nullPointerRedundantCheck when using a goto statement ( #2947 )
2020-12-14 11:13:47 +01:00
Daniel Marjamäki
bf951ea5e6
Bug hunting; Fix for '*x=y'
2020-12-13 19:54:57 +01:00
Georgy Komarov
38a055d2f3
ExprEngine: Better debug output for exceptions ( #2943 )
2020-12-13 16:54:22 +01:00
Daniel Marjamäki
8f71e62fd6
Fix Cppcheck warning
2020-12-13 16:47:50 +01:00
Georgy Komarov
36ab23f1f7
ExprEngine: Handle pointers to struct as function argument ( #2945 )
2020-12-13 16:02:35 +01:00
Daniel Marjamäki
81c3ac738d
CI: Fix testrunner
2020-12-13 15:51:20 +01:00
Daniel Marjamäki
6fb1a81eae
Bug hunting; more debug output
2020-12-13 14:05:35 +01:00
Daniel Marjamäki
b18dc0fdbb
Bug hunting: Handle not better
2020-12-13 13:00:04 +01:00
Daniel Marjamäki
0ccc5c695b
Bug hunting: prevent recursion in analysis when code calls self
2020-12-13 09:33:40 +01:00
Daniel Marjamäki
be16b2c276
Bug hunting; better handling of early return
2020-12-13 09:13:26 +01:00
Daniel Marjamäki
2e96cc932d
ExprEngine; Improved debug output, show constraints.
2020-12-12 21:23:38 +01:00
Daniel Marjamäki
a7fb946ab8
ExprEngine: Clarify debug output a bit
2020-12-12 18:29:17 +01:00
Daniel Marjamäki
cba8b99095
ExprEngine: Catch and handle exceptions in ExprData
2020-12-12 17:33:21 +01:00
Daniel Marjamäki
d0f700305c
ExprEngine: Avoid analyzing unreachable execution paths
2020-12-12 15:22:49 +01:00
IOBYTE
7fc03c6030
fix #10032 (Syntax error if first function in a struct is a template function) ( #2940 )
...
Co-authored-by: Robert Reif <reif@FX6840>
2020-12-11 07:01:20 +01:00
Daniel Marjamäki
d340e8770c
Fixed Tokenizer::setVarId when removing last scope name
2020-12-08 17:39:04 +01:00
Daniel Marjamäki
245284acde
Tokenizer; Fixed varid for base class member variable
2020-12-08 17:25:50 +01:00
Daniel Marjamäki
7a4462dac5
Tokenizer: Refactoring, use isFunctionHead in setVarId. It should be more reliable.
2020-12-08 16:53:55 +01:00
Daniel Marjamäki
6d7ddde1b5
Bug hunting; Make bughuntingUninit check a bit less noisy about const parameters
2020-12-08 13:34:46 +01:00
Daniel Marjamäki
99cb65b4b2
Bug hunting; Clarify bughuntingUninit output for non-const parameters
2020-12-08 11:16:38 +01:00
IOBYTE
8161baf1e9
fix template debug output line numbers ( #2938 )
2020-12-08 10:35:13 +01:00
IOBYTE
6103da59be
add column number to TokenList::addtoken ( #2939 )
2020-12-08 10:34:23 +01:00
Daniel Marjamäki
bcc7945540
Bug hunting; Separate bughuntingUninit warnings for arguments with separate id
2020-12-08 10:28:40 +01:00
Daniel Marjamäki
02bb14003b
Bug hunting; better handling of struct member assignment in for loop
2020-12-07 19:58:19 +01:00
Daniel Marjamäki
39a9350f6e
Bug hunting: Better analysis of BailoutValue
2020-12-07 06:27:14 +01:00
Daniel Marjamäki
7e9cbda2d5
Revert "2"
...
This reverts commit db386b2a7f
.
That commit was half-done and not intended to be merged.
2020-12-06 22:29:46 +01:00
IOBYTE
8d9f0b3528
fix #9394 ("debug: Executable scope 'x' with unknown function." with … ( #2935 )
2020-12-06 22:08:42 +01:00
Daniel Marjamäki
db386b2a7f
2
2020-12-06 21:45:48 +01:00
Daniel Marjamäki
d12732adfb
Bug hunting; Diagnose array index out of bounds when struct member is accessed
2020-12-06 17:44:07 +01:00
Daniel Marjamäki
3bf758a04b
Bug hunting; Ensure there is warning after unknown variable expression
2020-12-06 10:13:10 +01:00
Daniel Marjamäki
7324722dab
Bug hunting; Detect array index out of bounds in loop better
2020-12-05 20:39:54 +01:00
Daniel Marjamäki
089f193d6c
Bug hunting; Fix test CVE-2019-19334
2020-12-05 18:52:18 +01:00
Daniel Marjamäki
46454b1795
CI: Fixed TestBughuntingChecks
2020-12-05 14:56:06 +01:00
Daniel Marjamäki
bdfac5db09
Bug hunting: Fixed test case CVE-2019-19334
2020-12-05 13:51:12 +01:00
Daniel Marjamäki
cb7eee2aa9
SymbolDatabase: Improved types for 'std::string + x'
2020-12-05 13:24:21 +01:00
Daniel Marjamäki
86ceafa870
Fixed compiler warning; missing enum case in switch
2020-12-05 13:02:43 +01:00
Daniel Marjamäki
076e78ebd0
Fixed Cppcheck warning (explicitConstructor)
2020-12-05 12:41:01 +01:00
Daniel Marjamäki
da4cd6a4f4
Bug hunting; Improved buffer overflow check
2020-12-05 11:47:57 +01:00
Daniel Marjamäki
396c353d3c
bug hunting: Add array index check
2020-12-05 11:46:07 +01:00
Daniel Marjamäki
2a1e230d2e
2.3: Update version
2020-12-05 10:00:02 +01:00
Daniel Marjamäki
c89512d8d6
Update copyright year
2020-12-05 09:28:33 +01:00
IOBYTE
ab16603666
fix #9685 (Handle 'extern "C++"') ( #2933 )
2020-12-05 09:26:11 +01:00
Daniel Marjamäki
600637a391
Fix Cppcheck warning; make ImportProject::FileSettings::parseCommandDefine() static
2020-12-04 20:46:44 +01:00
Daniel Marjamäki
40963100c4
Avoid functionStatic FP when there is #ifdef in function
2020-12-04 20:29:10 +01:00
Daniel Marjamäki
58af3c7ad7
Suppress Cppcheck false positive
2020-12-04 19:37:58 +01:00
Daniel Marjamäki
c6452adc88
Fixed Cppcheck warning; Remove unused private method CheckBufferOverrun::bufferNotZeroTerminatedError
2020-12-04 18:58:10 +01:00
Daniel Marjamäki
aa28f3fe8c
Removed Cppcheck::terminate()
2020-12-04 18:47:43 +01:00
IOBYTE
9c51d4c12d
instantiate nested templates in the proper order ( #2930 )
2020-12-04 08:04:16 +01:00
Paul Fultz II
904d52acac
Fix issue 10004: ValueFlow: pointer value, wrongly set known value ( #2931 )
2020-12-03 07:15:31 +01:00
Daniel Marjamäki
62810af7f3
Tokenizer: Avoid null pointer dereference in garbage code
2020-12-02 23:06:11 +01:00
Daniel Marjamäki
4d497712fb
Travis; Fix Cppcheck warnings
2020-12-02 22:02:20 +01:00
Daniel Marjamäki
cbb388d458
Tokenizer: Avoid wrong simplification of template right angle bracket
2020-12-02 20:21:32 +01:00
Daniel Marjamäki
c69bfbf495
AST: Fixed ast for multidimensional array initialisation
2020-12-02 07:38:21 +01:00
Daniel Marjamäki
009ad11b3e
SymbolDatabase: set proper valuetype for string addition result ( #9161 )
2020-12-01 20:16:39 +01:00
IOBYTE
2bbc7abedc
fix overloaded function lookup for explicit instantiations ( #2929 )
2020-12-01 09:43:16 +01:00
Daniel Marjamäki
f250e06df7
Improved daca check for wrong detection of template right angle brackets
2020-11-30 20:00:38 +01:00
Daniel Marjamäki
9aa69661b5
More robust Token::findClosingBracket
2020-11-30 19:26:28 +01:00
Daniel Marjamäki
8a1c16a560
Tokenizer: add daca debug messages when right angle brackets in templates are not handled well
2020-11-29 16:07:56 +01:00
Oliver Stöneberg
3eaa76e832
updated C/C++ keywords ( #2926 )
2020-11-29 15:01:29 +01:00
Daniel Marjamäki
7112f69d7b
Fixed bug in fixAngleBrackets
2020-11-29 12:56:13 +01:00
Daniel Marjamäki
e2debac882
Fix testcases
2020-11-29 08:46:42 +01:00
Daniel Marjamäki
fd75837494
Tokenizer: Remove extra 'template' keywords
2020-11-28 21:57:06 +01:00
Daniel Marjamäki
f42c104b0d
Distinguish exprid and varid in --debug output
2020-11-28 15:41:07 +01:00
Daniel Marjamäki
5b89b179ec
Detect syntax error when script is checked
2020-11-28 14:41:05 +01:00
Daniel Marjamäki
af26697ceb
AST: Generate proper AST for 'f = []() -> foo&& {}'
2020-11-28 06:53:46 +01:00
Daniel Marjamäki
484b68c550
astyle formatting
2020-11-28 05:52:35 +01:00
Daniel Marjamäki
d383913e1b
Attempt to fix crashes when variable valueType is nullptr. This can happen when decltype is used on unknown type
2020-11-27 16:49:25 +01:00
Daniel Marjamäki
ad0eb6108b
Attempt to fix crashes when variable valueType is nullptr. This can happen when decltype is used on unknown type
2020-11-27 16:45:26 +01:00
Daniel Marjamäki
809cec2b58
Fix crashes when Variable::valueType is nullptr, this can happen when decltype(unknown type) is used.
2020-11-27 12:07:15 +01:00
Wolfgang Stöggl
0bbd18f364
lib: Add condition for include externals/tinyxml2 ( #2923 )
...
Include externals/tinyxml2 in lib/CMakeLists.txt only if
USE_BUNDLED_TINYXML2 is ON, which is the default.
This is a follow-up commit to 8ac55a8
2020-11-27 09:57:12 +01:00
miltolstoy
5d299016f1
feat: analyze function side effects ( #2901 )
2020-11-26 17:34:42 +01:00
Daniel Marjamäki
1e8eb28390
Clang import: Fix null pointer dereference
2020-11-26 17:26:30 +01:00
Daniel Marjamäki
62284dabca
astyle formatting
2020-11-24 22:03:30 +01:00
Daniel Marjamäki
96392aa212
Clang import: better handling of templates
2020-11-24 22:02:59 +01:00
Daniel Marjamäki
aa9281515d
Clang import: Handle LinkageSpecDecl
2020-11-24 19:34:37 +01:00
Daniel Marjamäki
788abfa8a4
Clang import: better handling of CXXMethodDecl in getSpelling
2020-11-24 19:20:30 +01:00
IOBYTE
43ce1607c7
fix a large number of valgrind warnings in testrunner ( #2920 )
...
Co-authored-by: Robert Reif <reif@FX6840>
2020-11-24 18:21:07 +01:00
IOBYTE
1ea89bcad8
add support for template constructors ( #2911 )
2020-11-24 07:21:37 +01:00
Daniel Marjamäki
b4db52bf61
Fixed #9860 (wrong ast for placement new 'new ( uBAR ? uBAR : sizeof ( T ) ) T')
2020-11-23 22:03:50 +01:00