21040 Commits

Author SHA1 Message Date
Paul Fultz II
27ebff7ae4 Add deeper analysis of when a function changes a containers size (#2149)
* Add deeper analysis of when a function changes a containers size

* Fix issues

* Track addressOf
2019-09-06 21:18:45 +02:00
Sebastian
4531b31a4a
Test for issue 9334: FP resourceLeak for dlopen/dlclose with library posix (#2151)
Add test to avoid further FP for valid code.
Tests for true positives are already present.
https://trac.cppcheck.net/ticket/9334
2019-09-06 16:37:51 +02:00
orbitcowboy
d774359f68 posix.cfg: Improved configuration for dlopen() and dlclose(). Ensure the return value is taken into account for dlopen() and leak-ignore flag is not present for dlopen() and dlclose(). 2019-09-06 15:25:54 +02:00
Sebastian
32dad3f44a
posix.cfg: Fix vsyslog() configuration (#2150)
Add tests to make sure no false positives are reported.
Found the issue via daca@home
2019-09-06 10:16:11 +02:00
Sebastian
1c77661b7e donate-cpu.py: Improve detection of Ruby library usage (#2148)
I looked into many packages where the detection failed and they all use
`#include "ruby.h"`. Some of these packages seem to be Ruby modules,
others seem to be "normal" software.
2019-09-05 20:33:12 +02:00
Paul Fultz II
70cad280ea Fix issue 9319: FP knownConditionTrueFalse related to aggregate initialization of struct (#2147) 2019-09-05 19:36:45 +02:00
Paul Fultz II
9e140831eb Fix issue 9329: FP knownConditionTrueFalse - vector modified by function calls (#2145) 2019-09-05 16:42:26 +02:00
Paul Fultz II
e657cf4073 Fix issue 9320: False positive knownConditionTrueFalse related to truncation (#2144) 2019-09-05 15:15:58 +02:00
versat
e7ea748805 lua.cfg: Add more lua_push*() function configurations 2019-09-05 14:43:35 +02:00
versat
9b9e9a4cf4 qt.cfg: Add configurations for functions of class QSettings
Reference: https://doc.qt.io/qt-5/qsettings.html
2019-09-05 13:49:18 +02:00
versat
8b5191416e dmake.cpp: Fix typo in warning message 2019-09-05 11:43:13 +02:00
Rikard Falkeborn
02fd1ac7f7 donate-cpu: Show cppcheck head git hash and commit time (#2096)
This adds one line in the package report to show the git hash and commit
date. This makes it possible to see exactely which revision the result
was obtained with.

The cppcheck head info line is now shown as

	head-info: 1a25d3f9e (2019-08-30 18:34:14 +0200)
2019-09-05 09:08:45 +02:00
Daniel Marjamäki
04295802f9 fix run-coverity.sh script. It will run in the cppcheck-devinfo folder from now on. 2019-09-04 17:12:03 +02:00
Daniel Marjamäki
068b0ef648 Make Travis happy 2019-09-04 13:38:19 +02:00
Daniel Marjamäki
a9fda3f488 Clarify redundantVarAssignment warnings 2019-09-04 10:55:41 +02:00
IOBYTE
e5220bdf0c make ellipsis ... a single token (#2143)
* make ellipsis ... a single token

Using cppcheck -E to preprocess code with ellipsis produces output that
can't be compiled because ... is split into 3 tokens.

* try to fix addon
2019-09-04 08:07:30 +02:00
Daniel Marjamäki
6e00db379f Update run-coverity.sh script 2019-09-03 21:28:57 +02:00
Paul Fultz II
1afd56e964 Fix issue 8785: ValueFlow: Track pointer alias
This fixes the issue by making `ProgramMemory` keep track of values based on the conditions.

It also removes the `deadpointer` check since it duplicates the `invalidLifetime` check.
2019-09-03 17:16:15 +02:00
versat
1faf932206 qt.cfg: Add configurations for functions of class QDateTime
Reference: https://doc.qt.io/qt-5/qdatetime.html
2019-09-03 12:50:29 +02:00
Paul Fultz II
55a78f482b Fix issue 9293: false negative: uninitvar 2019-09-03 06:46:34 +02:00
Paul Fultz II
dc201d110d Fix issue 9274: false negative: (error) Buffer is accessed out of bounds (std::string, std::wstring) 2019-09-03 06:43:54 +02:00
Daniel Marjamäki
af449779f0 astyle formatting
[ci skip]
2019-09-03 06:43:08 +02:00
Paul Fultz II
88d194214f Fix FP with invalidContainerRef (#2141) 2019-09-03 06:41:35 +02:00
Ken-Patrick Lehrmann
5c172bb55a Fix issue 8897: Huge array initializations (#2135)
* Fix issue 8897: Huge array initializations

iscpp11init would take a lot of time when parsing huge arrays.
This patch add memoization to keeps track that we are parsing an array,
and allows to propagate the result without re-parsing the array for each
of its members.

* Use enum class instead of enum
2019-09-02 20:31:01 +02:00
fu7mu4
bcc9f81a6e cppcheck_ja.ts is updated (#2140) 2019-09-02 18:57:50 +02:00
orbitcowboy
4a4d99b126 wxwidgets.cfg: Added support for more interfaces. 2019-09-02 16:09:31 +02:00
PKEuS
e9f8dddabe Set version to 1.89.99/1.90 dev 2019-09-02 15:44:40 +02:00
PKEuS
9864c8577f std.cfg: Added std::time_t and std::clock_t 2019-09-02 15:30:55 +02:00
versat
8b949c33de donate-cpu-server.py: Fix crash during diff report generation
If there are *.diff files with old version numbers the server script
crashed because it always expects a key with the current OLD_VERSION.
This fix ignores entries in *.diff files that are not made against the
current OLD_VERSION.
2019-09-02 13:46:57 +02:00
fu7mu4
a35de895ca Update japanese gui (#2137)
* add MATCHCOMPILER=yes flag into readme in Japanese

* remove Donations from readmeja.md

* add cmake instructions in Japanese

* minor improvement in Japanese
2019-09-02 13:43:37 +02:00
Sebastian
901565233b
donate-cpu.py: Enable detection of new library configurations (#2139) 2019-09-02 11:32:50 +02:00
orbitcowboy
76d8254df9 wxwidgets.cfg: Added support for more wxVariant functions. 2019-09-02 11:22:00 +02:00
versat
efa3311d91 gtk.cfg: Fix some more functions with partly missing configuration 2019-09-02 10:30:07 +02:00
orbitcowboy
7c502819af wxwidgets.cfg: Added support for wxVariant getters. 2019-09-02 09:57:01 +02:00
orbitcowboy
27a1d26c91 wxwidgets.cfg: Added support for wxVariant::IsNull(). 2019-09-02 09:48:24 +02:00
Daniel Marjamäki
7d63bdee6f astyle formatting
[ci skip]
2019-09-02 06:59:07 +02:00
Paul Fultz II
cb509f1a8b Fix issue 4845: alias to vector element invalid after vector is changed (#2113)
* Try harder to track ref lifetimes

* Dont add lifetimes for references

* Use correct token

* Check for front and back as well

* Improve handling of addresses

* Formatting

* Fix FP
2019-09-02 06:58:09 +02:00
Paul Fultz II
255c1062e4 Run test fixtures as seperate tests so they can run in parallel (#2126) 2019-09-02 06:53:35 +02:00
IOBYTE
fd403bf7e6 template simplifier: only add recursive instantiation if its arguments are a constant expression (#2138) 2019-09-02 06:51:19 +02:00
Ken-Patrick Lehrmann
005765a561 Clarify valueFlowUninit (#2136)
https://github.com/danmar/cppcheck/pull/2129#issuecomment-526916467
2019-09-02 06:50:56 +02:00
Daniel Marjamäki
8865fb544d createrelease: clarify daca@home update 2019-09-01 15:34:06 +02:00
Daniel Marjamäki
c07d5f0161 Makefile: Set debug mode 2019-09-01 15:01:55 +02:00
Daniel Marjamäki
355d2ccf47 Makefile: Set release mode 1.89 2019-09-01 15:01:12 +02:00
Ken-Patrick Lehrmann
7a75aa084b Fix crash in CheckUninitVar (#2129)
http://cppcheck.osuosl.org:8000/ycmd
```
2019-08-30 23:21
ftp://ftp.se.debian.org/debian/pool/main/y/ycmd/ycmd_0+20181101+git600f54d.orig.tar.gz
cppcheck-options: -j1 --library=posix --library=gnu --library=qt --library=python --library=googletest --library=boost -D__GNUC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp
platform: Linux-4.15.0-58-generic-x86_64-with-Ubuntu-18.04-bionic
python: 2.7.15+
client-version: 1.1.31
cppcheck: head 1.88
count: Crash! 83
elapsed-time: -11.0 61.2
head results:
Checking temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc: __GNUC__=1...

Program received signal SIGSEGV, Segmentation fault.
CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
2376	            if (!tok->variable())
 #0  CheckUninitVar::valueFlowUninit (this=this@entry=0x7fffffffb350) at build/checkuninitvar.cpp:2376
 #1  0x00005555556901ac in CheckUninitVar::runChecks (this=<optimized out>, tokenizer=0x7fffffffbcb0, settings=0x7fffffffcd10, errorLogger=<optimized out>) at lib/checkuninitvar.h:68
 #2  0x00005555556a2210 in CppCheck::checkNormalTokens (this=this@entry=0x7fffffffcaf0, tokenizer=...) at build/cppcheck.cpp:730
 #3  0x00005555556a6ee2 in CppCheck::checkFile (this=this@entry=0x7fffffffcaf0, filename="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc", cfgname="", fileStream=...) at build/cppcheck.cpp:540
 #4  0x00005555556aad4c in CppCheck::check (this=this@entry=0x7fffffffcaf0, path="temp/ycmd-0+20181101+git600f54d/ycmd/tests/clang/testdata/completion_fixit.cc") at build/cppcheck.cpp:195
 #5  0x00005555557ef167 in CppCheckExecutor::check_internal (this=this@entry=0x7fffffffd880, cppcheck=..., argv=argv@entry=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:884
 #6  0x00005555557efa9a in CppCheckExecutor::check (this=0x7fffffffd880, argc=17, argv=0x7fffffffdc08) at cli/cppcheckexecutor.cpp:198
 #7  0x00005555555b1d1b in main (argc=17, argv=0x7fffffffdc08) at cli/main.cpp:95
```
2019-09-01 14:51:40 +02:00
PKEuS
e37061a754 Windows Installer: Fixed path that seems to have changed. 2019-09-01 14:44:37 +02:00
PKEuS
9163248e0c Fixed linker errors on Windows 2019-09-01 14:44:03 +02:00
PKEuS
e857457315 Windows Installer: Added Qt5Charts.dll 2019-09-01 13:51:21 +02:00
PKEuS
ee856ca3bb Updated german translation 2019-09-01 13:37:08 +02:00
Daniel Marjamäki
4ede39a9b7 1.89: Set version 2019-09-01 12:16:33 +02:00
Daniel Marjamäki
c732456fb4 Createrelase: update versions better 2019-09-01 12:16:22 +02:00