Commit Graph

9872 Commits

Author SHA1 Message Date
Daniel Marjamäki 12b7c9e597 Fix Cppcheck warning 2018-09-01 08:41:41 +02:00
Daniel Marjamäki a331206b44 Temporarily disable followVariableExpressions(), there are problems that should be fixed. 2018-09-01 08:32:06 +02:00
Daniel Marjamäki f388c77042 Fixed #8721 (Regression: False positive array index out of bounds) 2018-08-31 18:25:43 +02:00
Daniel Marjamäki c7e5176284 Fixed #8061 (Problems with handling of --project argument) 2018-08-31 16:06:52 +02:00
Armin Müller b9cd7368f5 Typos found by running "codespell" (#1355)
* Update astutils.cpp

* Update checksizeof.cpp
2018-08-30 19:51:39 +02:00
Daniel Marjamäki 7591616f43 Fixed #8710 (Update message duplicateExpression when operand is integer literal) 2018-08-30 18:28:34 +02:00
Daniel Marjamäki 27aae8d032 Fixed #8644 (crash (CheckBufferOverrun::checkGlobalAndLocalVariable): local function) 2018-08-30 10:04:07 +02:00
Daniel Marjamäki 6223204a06 Fixed #8708 (FP: Accessing an item in container that is empty) 2018-08-27 13:49:47 +02:00
Daniel Marjamäki 4378327c43 astyle formatting
[ci skip]
2018-08-27 13:48:46 +02:00
Paul Fultz II fc135e1087 Check if member function modifies the variable (#1350)
* Check if member function modifies the variable

* Check for const pointer

* Add test for const condition

* Add more null checking

* Add todo assert for FN
2018-08-27 11:09:09 +02:00
Simon Martin acb0b9f07e Ticket #8679: Add support for C++11 thread_local and GCC's (among others) __thread extension. (#1351) 2018-08-26 19:46:36 +02:00
Daniel Marjamäki ad0ebd8f1a astyle formatting
[ci skip]
2018-08-25 21:32:52 +02:00
Paul Fultz II a5f4c5d0eb Improve message for same expressions (#1349)
* Improve message for same expressions

* Update message
2018-08-25 14:25:31 +02:00
Daniel Marjamäki 4d0262fd0a astyle formatting
[ci skip]
2018-08-23 06:06:58 +02:00
Kamil Dudka 0ca6ab1a71 ErrorLogger: add {cwe} (#1341) 2018-08-21 13:58:19 +02:00
Paul Fultz II f79849f6ba Diagnose mismatching iterators used together in operators (#1343)
* Diagnose mismatching iterators used together in operators

* Fix fp getting iterator expression in function call
2018-08-21 06:34:30 +02:00
Daniel Marjamäki 866d198756 Fixed #8697 (noreturn output stream) 2018-08-21 06:32:33 +02:00
Daniel Marjamäki a30941d885 Refactoring; Use range for loops 2018-08-19 17:27:41 +02:00
Daniel Marjamäki 4d78a2e178 Fixed #7790 (Wrong order of <location> XML-elements for error duplInheritedMember) 2018-08-19 14:13:58 +02:00
Daniel Marjamäki 212af76367 astyle formatting
[ci skip]
2018-08-18 15:45:50 +02:00
Paul Fultz II fd49112196 Avoid duplicates in the error path (#1346) 2018-08-18 07:32:30 +02:00
Daniel Marjamäki 43233e72b2 Fixed #8691 (False negative for uselessAssignmentArg) 2018-08-17 19:56:36 +02:00
Daniel Marjamäki e442bc47b1 astyle formatting
[ci skip]
2018-08-17 19:55:21 +02:00
Kevin Kendzia c5ebf26f9f cppcheck.cpp: fix suppression of syntaxError (#1333)
* cppcheck.cpp: fix suppression of syntaxError

* test: add supression test for syntaxError while file read
2018-08-17 10:05:25 +02:00
Paul Fultz II bbf876256c Add error path to more diagnostics that rely on isSameExpression (#1342) 2018-08-17 09:25:07 +02:00
Sylvain Joubert 13617375df missingOverride: False positive with cv-ref mismatch (#1340) 2018-08-17 08:42:22 +02:00
Konrad Grochowski 0e70c8a916 Added '-' and '.' to allowed chars in error ids for suppressions. (#1338)
Those chars are used for example in misra.py
2018-08-17 08:20:39 +02:00
tam do thanh f33c09f1a7 Allow syntax "typedef 'typename' unsigned 'typename' (functon_name)()" (#1334)
* Allow syntax "typedef 'typename' unsigned 'typename' (functon_name)()" for some old libraries
https://trac.cppcheck.net/ticket/7792

* Unnecessary check of "tokOffset", match-function already checks if it is null

* add testcase ticket #7792: simplifyTypedef124
2018-08-16 14:30:28 +02:00
Daniel Marjamäki fc97a5b11c Uninitalized variables: Fixed false positive 2018-08-15 18:04:36 +02:00
Daniel Marjamäki 2f834c3c3b Fixed #8688 (False positive: containerOutOfBounds) 2018-08-13 21:27:29 +02:00
Paul Fultz II c5154286da Fix issue 8687: false positive with same expression (#1336) 2018-08-13 12:55:41 +02:00
Daniel Marjamäki 55ab842083 valueFlowSizeForward: Bailout when function calls modify the container size 2018-08-13 06:54:18 +02:00
Daniel Marjamäki 183345a939 valueFlowContainerSize: Fix FP when container size is changed 2018-08-12 22:23:19 +02:00
Daniel Marjamäki 7074eeb869 valueFlowContainerSize: assignment of string-like containers 2018-08-12 22:01:58 +02:00
Daniel Marjamäki 189ea5003a valueFlowContainerSize: empty container variables 2018-08-12 14:41:00 +02:00
Daniel Marjamäki be4ae66e36 Fix wrong message 2018-08-12 08:01:15 +02:00
Matthias Krüger a9ae897f8c checkstl: fix inconsistent-missing-override warning reported by clang.
Warning was:

lib/checkstl.h:57:18: warning: 'runChecks' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
    virtual void runChecks(const Tokenizer *tokenizer, const Settings *settings, ErrorLogger *errorLogger) {
                 ^
lib/check.h:67:18: note: overridden virtual function is here
    virtual void runChecks(const Tokenizer *, const Settings *, ErrorLogger *) {
                 ^
2018-08-11 21:33:44 +02:00
Daniel Marjamäki 0e30bdef9d containerAccessOutOfBounds: Fix FPs for maps etc 2018-08-11 18:57:21 +02:00
Daniel Marjamäki 811a71aa06 valueFlowContainerSize: Handle guard logic 2018-08-11 15:08:54 +02:00
Daniel Marjamäki f0c1d49abf Fix Cppcheck warning 2018-08-11 14:45:12 +02:00
Daniel Marjamäki 6008bbdfb4 valueFlowContainerSize: Fix wrong value after condition if conditional code escapes 2018-08-11 13:49:42 +02:00
Daniel Marjamäki 1f427eda8f CheckStl: rewrite and refactor out of bounds checker 2018-08-11 11:40:48 +02:00
Daniel Marjamäki 10461e5429 valueFlowContainerSize: forward analysis inside conditional code 2018-08-10 22:18:38 +02:00
Daniel Marjamäki 4a502a7f6b valueFlowContainerSize: add simple forward analysis 2018-08-10 22:06:23 +02:00
Daniel Marjamäki 2b10e38eec valueFlowContainerSize: handling of 'v.size() == 10' 2018-08-10 21:43:47 +02:00
Paul Fultz II 3947c23290 Fix issue 8369: False negative: Condition 'condition' is always true (#1325)
* Fix issue 8369: False negative: Condition 'condition' is always true

* Use simpleMatch

* Add iterator header

* Cleanup

* Remove unused variable
2018-08-10 18:05:23 +02:00
Daniel Marjamäki 3805af18a2 valueFlowContainerSize: Fix crash when container pointer is null 2018-08-10 12:53:16 +02:00
Daniel Marjamäki f37434cd1d valueFlowContainerReverse: Fix FPs when there is assignment 2018-08-10 12:26:53 +02:00
Daniel Marjamäki 907f81d059 ValueFlow: Improved analysis of container size 2018-08-10 11:53:56 +02:00
Daniel Marjamäki 81f54f7094 Fixed #8681 (ValueFlow: Container size) 2018-08-10 11:29:16 +02:00