Paul Fultz II
c0c6f92221
Fix issue 8431 and 8776: Size of constant string
...
Fixes these cases:
```cpp
void f(void) {
const std::string msg="xyz";
if(!msg.empty()){} // Always true
}
```
And out of bounds access:
```cpp
#include <string>
char fstr1(){const std::string s = "<a><b>"; return s[42]; }
wchar_t fwstr1(){const std::wstring s = L"<a><b>"; return s[42]; }
```
2019-08-12 20:24:16 +02:00
Paul Fultz II
68e8253920
Fix issue 8313 and 7326: Track values of pointer aliases in valueflow
2019-08-12 12:58:53 +02:00
Daniel Marjamäki
aec217fede
astyle formatting
...
[ci skip]
2019-08-12 12:54:25 +02:00
Rikard Falkeborn
cd36f8ed0a
Fix #9253 : leakNoVarFunctionCall: do not warn if freopen opens standard stream ( #2076 )
...
This fixes false positives from daca@home where freopen is used to
reopen a standard stream. There is no longer a warning for
void f() {
assert(freopen("/dev/null", "r", stdin));
}
2019-08-12 12:53:59 +02:00
Paul Fultz II
aadc404958
Issue 8634: false negative: (style) Condition '...' is always true ( #2075 )
2019-08-12 11:04:01 +02:00
Daniel Marjamäki
2e9e3ed2f1
Fixed #8823 (false positive: MISRA rule 16.3)
2019-08-11 19:08:57 +02:00
Daniel Marjamäki
db57769c64
Try to make Travis happy
2019-08-11 17:57:59 +02:00
Daniel Marjamäki
016340f77d
Fixed #8657 (false postive: MISRA rule 15.7)
2019-08-11 17:54:02 +02:00
Daniel Marjamäki
6c55d27f19
Fixed #9240 (GUI: Issue with file names in suppressions (undesired expansion to full path))
2019-08-11 15:53:23 +02:00
Paul Fultz II
9aa97cbb95
Fix issue 8296: ValueFlow: value not set in conditional scope in subfunction ( #2071 )
...
* Fix issue 8296: ValueFlow: value not set in conditional scope in subfunction
* Refactor condition checkingg
* Make test case TODO
2019-08-11 15:39:37 +02:00
Daniel Marjamäki
46c93779d8
misra: updated getEssentialType
2019-08-11 10:15:07 +02:00
Daniel Marjamäki
43aabcd318
Fixed #8656 (false positive: MISRA rule 10.1)
2019-08-11 09:47:37 +02:00
Daniel Marjamäki
8c7ae14f0b
misra: python refactorings
2019-08-10 18:12:23 +02:00
Daniel Marjamäki
0edc4feb57
Try to make Appveyor happy
2019-08-10 08:46:27 +02:00
IOBYTE
5fc5e3728d
template simplifier: refactor TemplateSimplifier::TokenAndName into a… ( #2073 )
...
* template simplifier: refactor TemplateSimplifier::TokenAndName into a class
assert when more than one family flag is set
* fix function parameter names
2019-08-10 08:42:12 +02:00
Daniel Marjamäki
6a260929e2
CLI: error id from addon is <addon>-<id>
2019-08-10 07:43:47 +02:00
Daniel Marjamäki
0fbbe2ff23
Refactor load/write of cppcheck project. Reuse same string constants in cli and gui.
2019-08-09 21:15:02 +02:00
Daniel Marjamäki
16dc8a0540
GUI: Suppressing addon warnings
2019-08-09 19:00:09 +02:00
orbitcowboy
290791f54f
windows.cfg: Added support for more constants from https://docs.microsoft.com/en-us/windows/console/char-info-str
2019-08-09 14:46:47 +02:00
Armin Müller
785cc69644
Typos found by running "codespell" ( #2072 )
2019-08-08 21:05:28 +02:00
orbitcowboy
21dc69e3d1
windows.cfg: Added support for functions from https://docs.microsoft.com/en-us/windows/win32/api/versionhelpers/ .
2019-08-08 10:51:05 +02:00
orbitcowboy
27cc58db43
windows.cfg: Added missing <pure/>-tag to GetSysColour().
2019-08-08 08:13:29 +02:00
Paul Fultz II
bd02ca5ccb
Fix issue 9207: Not detected 'always true' and unreachable code
2019-08-08 07:46:47 +02:00
orbitcowboy
2df7ce21bf
windows.cfg: Added support for GetSysColor().
2019-08-07 17:05:54 +02:00
orbitcowboy
9133707d4a
windows.cfg: Added support for more constants
2019-08-07 16:56:56 +02:00
Daniel Marjamäki
9fa1a5a540
astyle formatting
...
[ci skip]
2019-08-07 08:05:46 +02:00
IOBYTE
c6c50567cf
Fix #9250 (Regression: crash in gcc testsuite) ( #2067 )
...
* Fix #9250 (Regression: crash in gcc testsuite)
* fix cppcheck warning
2019-08-07 08:05:02 +02:00
Ken-Patrick
cb0b057595
8706 ( #2066 )
...
* 8706
* Add test case for #8706
2019-08-07 08:04:10 +02:00
Ken-Patrick
9ec8886898
Use std::any_of in token.h ( #2065 )
...
[lib/token.h:964]: (style) Consider using std::any_of algorithm instead of a raw loop.
2019-08-07 08:02:07 +02:00
Paul Fultz II
aaeec462e6
Re-enable valueFlowSubFunction ( #2063 )
...
* Re-enable valueFlowSubFunction
* Formatting
* Skip ternary operators in subfunctions
* Fix test with iostreams
* Fix FP with multiple parameters
2019-08-05 16:26:32 +02:00
Daniel Marjamäki
ebcca4edd1
Improve --debug-warnings output for 'auto' tokens without type. Do not report that prematurely before the type is set properly.
2019-08-05 13:42:06 +02:00
Daniel Marjamäki
20278d9c92
Clarify signConversion warning message
2019-08-05 12:41:08 +02:00
Daniel Marjamäki
1718963d9f
Travis: Remove step the check clang sources. We can do this on daca@home.
2019-08-05 11:39:31 +02:00
Paul Fultz II
ffdd2dc793
Fix issue 8924: Re-enable valueFlowTerminatingCondition
2019-08-05 07:18:06 +02:00
Daniel Marjamäki
996000da52
Fixed #9208 (MISRA addon crashes on enum with constant expression)
2019-08-04 12:24:45 +02:00
IOBYTE
7ebc9d1b5f
Fix #9249 (Syntax error on valid C++) ( #2062 )
2019-08-04 10:24:44 +02:00
Daniel Marjamäki
510748134f
Fixed #9234 (FP unreadVariable - assignment via iterator)
2019-08-04 10:21:16 +02:00
Daniel Marjamäki
ce53931d00
Fixed #9251 (False positive: unininitialized variable (multi variables))
2019-08-03 21:12:34 +02:00
orbitcowboy
24431419f4
wxwidgets.cfg: Added support for more interfaces.
2019-08-03 19:58:40 +02:00
orbitcowboy
b4aec4e39d
wxwidgets.cfg: Added support for more interfaces.
2019-08-03 19:53:55 +02:00
Daniel Marjamäki
cdc602e1be
Fixed #9137 (Tokenizer: Wrong handling of volatile pointer)
2019-08-03 12:28:50 +02:00
Daniel Marjamäki
c03df8e6b4
SymbolDatabase: Improved matchParameter for containers
2019-08-03 10:10:40 +02:00
IOBYTE
2da83df37b
Fix #9246 (Syntax error on C++ code) ( #2061 )
2019-08-03 08:15:06 +02:00
amai2012
f02636e995
Refactoring: Convert enums to enum classes
2019-08-02 21:14:29 +02:00
rebnridgway
d2b9c1f15a
Fix some bugs in new Scope Calculation code ( #2060 )
...
* Fix for too much information in scope name
When the scope calculation encounters code such as
"friend class X::Y;"
or
"template<> class X<void> {"
it will now reset the additional name component of the scope that is about to be opened.
* Made sure new scope name is reset after being used
2019-08-02 19:55:08 +02:00
Daniel Marjamäki
e66e6549ee
SymbolDatabase: Improved ValueType::matchParameter handling of containers
2019-08-02 15:59:22 +02:00
Daniel Marjamäki
26b0ea52ed
SymbolDatabase: Simplify code
2019-08-02 15:41:18 +02:00
versat
7ee36489f1
gnu.cfg: Add configuration for __builtin_memcpy()
...
In case there is something like `#define memcpy __builtin_memcpy` in the
code our define for __builtin_memcpy does not work.
So the configuration for __builtin_memcpy is added as a fallback.
2019-08-02 13:17:39 +02:00
versat
2519a1aed5
gnu.cfg: Add more __builtin_* functions and some tests
...
Most of them were detected by daca@home
2019-08-02 12:27:46 +02:00
orbitcowboy
c1773225e7
boost.cfg: Added support for some math macros
2019-08-02 12:01:52 +02:00