20509 Commits

Author SHA1 Message Date
fuzzelhjb
f36d671bc5 add CERT STR03-C check (#1898)
* add CERT STR03-C check

* fix cert test
2019-06-24 18:41:43 +02:00
Scott Furry
0d76d078e2 Implement User Selectable Code Editor Style in cppcheck-gui (#1913)
Building on #1874, commit adds user controls to choose
or edit style in cppcheck-gui ONLY. Commit does not
address CodeEditor style usage in triage app at this time.

Code Editor style can be altered from the added "Code Editor"
tab in the user preferences. The user has the option to select
default light, default dark, or to customize.

If user leaves the style set to light or dark defaults, this
will be reflected in the choices shown in the preferences
dialog.

User choice for Code Editor Style is saved in the cppcheck-gui
preferences under the heading "EditorStyle".
2019-06-23 19:04:53 +02:00
Georgy Komarov
05bb4a0c8f misra.py: Fixup rules severity (#1911)
* misra.py: Fixup rules severity

* Divide cppcheck and MISRA severity.
2019-06-23 14:08:05 +02:00
Daniel Marjamäki
bd59999fd0 cert.py: Use cppcheck.getArguments instead of local implementation 2019-06-23 14:05:24 +02:00
fuzzelhjb
8fcfe0ceb0 add CERT STR07-C check 2019-06-23 13:59:24 +02:00
Daniel Marjamäki
63bd29d644 addons/cppcheckdata.py: Add 'cppcheckdata.getArguments' function 2019-06-23 13:54:33 +02:00
Daniel Marjamäki
1b4485a738 Makefile: Add one more flag 'MATCHCOMPILER=yes' 2019-06-23 13:43:09 +02:00
IOBYTE
46b543ba27 template simplifier: stop running passes when nothing was simplified. (#1914) 2019-06-23 10:55:09 +02:00
Daniel Marjamäki
175070ca50 Revert "Fixed #8938 (FP identicalInnerCondition)"
This reverts commit 0edf0b562855f0c6d5569a3995cb380ed1d5fc6e.

This bailout seems to cause many false negatives
2019-06-22 21:57:19 +02:00
Daniel Marjamäki
de9c999d79 Better handling of spaces in paths 2019-06-22 19:20:15 +02:00
Daniel Marjamäki
7ceb51a952 Try to improve 'clarifyStatement' warning message 2019-06-22 08:44:41 +02:00
Daniel Marjamäki
16bed07c60 Clarify tests 2019-06-22 07:50:43 +02:00
Daniel Marjamäki
beea7fa8d2 Token::index(): Created Token member that indicates the Token position in the token list. It can be used to quickly check if tok1 precedes tok2. 2019-06-21 22:16:23 +02:00
Daniel Marjamäki
d636a83f8b Tokenizer: Assign Token 'progressValue' before returning so they are set properly when the checks are run 2019-06-21 08:43:19 +02:00
orbitcowboy
bb802c0c63 windows.cfg: Added support for constants from 'RpcDce.h: Impersonation Level Constants'. 2019-06-20 15:40:39 +02:00
orbitcowboy
3b3e7fd382 windows.cfg: Added support for _itoa_s()-functions. 2019-06-20 15:25:05 +02:00
orbitcowboy
952a4becf6 std.cfg: Added return type to itoa(). 2019-06-20 15:24:35 +02:00
Daniel Marjamäki
c98ceb6e14 Tweak bailout so it's only used in unused template classes 2019-06-20 14:00:44 +02:00
Sebastian
1a4854d93d
windows.cfg: Add macros STDMETHODIMP[_] and STDMETHODCALLTYPE (#1908) 2019-06-20 00:44:43 +02:00
Daniel Marjamäki
cf79830afd Revert "Remove bailout. It hides lots of warnings for real code to avoid FP in unused templates."
This reverts commit 2a4be5ae1c466376351b82fcfeadb4b79c877575.

When I look at daca@home now there are still lots of false negatives. So this bailout did not cause as much false negatives as I thought.
2019-06-19 22:29:00 +02:00
Georgy Komarov
02cc9ffcd8 misra.py: Add --verify-rule-texts option. (#1909)
* misra.py: Add verify-rule-texts option.

* Capture stdout output in travis.
2019-06-19 21:57:27 +02:00
orbitcowboy
a5185c7005 wxwidgets.cfg: Added support form ore interfaces. 2019-06-19 15:33:28 +02:00
orbitcowboy
fa20c1671b wxwidgets.cfg: Added support for wxButton::Bind(). 2019-06-19 14:58:54 +02:00
orbitcowboy
067a70ec03 wxwidgets.cfg: Restrict input parameters. No negative status bar field is allowed. 2019-06-19 13:40:39 +02:00
orbitcowboy
aecd4ed765 wxwidgets.cfg: Added support for more interfaces. 2019-06-19 13:25:20 +02:00
orbitcowboy
e8703036c3 wxwidgets.cfg: Added support for more interfaces. 2019-06-19 13:14:52 +02:00
Ken-Patrick
44d6066c6f FP on assignment through pointer (#1887)
* Fix FP when assigning through pointers

* Add test case for false positive

cppcheck would faulty warn:
"Condition '*b>0' is always true"
2019-06-17 21:25:15 +02:00
IOBYTE
246576fceb Fixed #9178 (Assertion `brackets1.empty() == false' failed on valid C++ code) (#1905)
This fixes a nasty intrinsics related bug causing instantiations that
shouldn't happen.
2019-06-17 21:18:27 +02:00
Georgy Komarov
e979b0652c misra.py: Fix up and improve load rules parser. (#1895)
* misra.py: Fixup load rules parser.

* misra.py: Report when rule text is missing in rule-texts file

* misra.py: Allow to skip misra checks not specified in rule-texts.

* misra.py: Remove top-level control flow.

Create separate class that stores settings, instead of global variables.

This is required to perform imports from misra.py for testing purposes.

* misra.py: Add simple pytest test for load rules.

* misra.py: Add document structure tests.

* misra.py: Exit after show rules table.

* misra.py: Add document structure tests.

* misra.py: Fixup import pitfall with python2

* misra.py: Minor fixes
2019-06-17 21:17:29 +02:00
fuzzelhjb
5e3da9e82a add CERT STR05-C check (#1899)
* add CERT STR05-C check

* update check
2019-06-17 20:42:23 +02:00
Rikard Falkeborn
b1c8d81bcc Refactoring; Use range for loop (#1900) 2019-06-17 13:17:45 +02:00
Jim Zhou
071fc85a05 minor corrections (#1906) 2019-06-17 07:04:08 +02:00
Daniel Marjamäki
59c7be307c Travis: Fix test/cli testing 2019-06-16 19:11:12 +02:00
Daniel Marjamäki
2a4be5ae1c Remove bailout. It hides lots of warnings for real code to avoid FP in unused templates. 2019-06-16 19:01:45 +02:00
Rikard Falkeborn
d909ac8565 Bugfix buffer size for strdup like functions (#1893)
strdup() allocates the string length plus one for a terminating null
character. Add one to compensate for this.

Fixes false positive buffer out of bounds on code like this:

	void f() {
		const char *a = "abcd";
		char * b = strdup(a);
		printf("%c", b[4]); // prints the terminating null character
		free(b);
	}

Also, add a testcase for valueFlowDynamicBufferSize() and add tests for
strdup(), malloc() and calloc().
2019-06-16 16:02:27 +02:00
Daniel Marjamäki
ba0a75881a Refactor AddonInfo::getAddonInfo 2019-06-16 15:46:20 +02:00
Ken-Patrick
a83b308300 Fix run-dmake step (#1894) 2019-06-16 15:06:28 +02:00
orbitcowboy
46745e2054 nspr.cfg: Added documentation. 2019-06-16 13:34:00 +02:00
orbitcowboy
9d34ff6fb9 nspr.cfg: Added (limited) support for some macros from Netscape Portable Runtime (NSPR) library. Reference: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR 2019-06-16 13:32:03 +02:00
Daniel Marjamäki
89a45c8f8a Manual: The Cppcheck GUI has some options that can be 'imported' on the command line 2019-06-16 12:37:18 +02:00
Ken-Patrick
66ebc187f6 Cleanup some const_cast of Token* (#1886)
* Add non const version of some methods of Token

The aim is to reduce the (ab)use of const_cast.

* Cleanup some more const_cast in valueflow

* Remove useless const_cast

* Remove some const_cast from templatesimplifier

* Remove some const_cast from valueflow
2019-06-16 10:09:38 +02:00
Daniel Marjamäki
167950c8e7 Manual: Move .cfg reference to its own document 2019-06-16 10:08:37 +02:00
Daniel Marjamäki
22ed912e47 manual: trim the manual somewhat. The "speeding up Cppcheck" chapter was removed. Addons should not be described in detail in the manual it is better that this is done in the addon. 2019-06-16 08:22:24 +02:00
Daniel Marjamäki
7e58850677 Travis: Add suppression 2019-06-15 20:56:39 +02:00
Daniel Marjamäki
54ba9482c6 Travis: Tweak self checking. Only check normal source code folders. 2019-06-15 16:44:34 +02:00
Daniel Marjamäki
a140095bbe Fix Cppcheck warning 2019-06-15 14:37:02 +02:00
Daniel Marjamäki
181991204a Travis: Improved Cppcheck self check 2019-06-15 14:34:46 +02:00
Daniel Marjamäki
61a259597b Fix Cppcheck warnings 2019-06-15 13:28:01 +02:00
Daniel Marjamäki
8359d85b12 Fix Cppcheck warning 2019-06-15 13:23:21 +02:00
Daniel Marjamäki
46cad95238 Fix Cppcheck warnings 2019-06-15 13:05:17 +02:00