19497 Commits

Author SHA1 Message Date
Daniel Marjamäki
68062e3702 Fixed #8954 (false positive: Local variable x shadows outer variable) 2019-02-23 16:22:22 +01:00
Daniel Marjamäki
23d4d9abeb bump simplecpp 2019-02-23 08:35:10 +01:00
Paul Fultz II
fd3c1fd040 Fix issue 1777: Undefined Behavior: Comparing pointers to different objects
This uses the lifetime analysis to check when comparing pointer that point to different objects:

```cpp
int main(void)
{
    int foo[10];
    int bar[10];
    int diff;

    if(foo > bar)   // Undefined Behavior
    {
       diff = 1;
    }

    return 0;
}
```
2019-02-23 08:32:08 +01:00
ivangalkin
1b703ce58e 7772 Add uninitMemberVarPrivate to errorlist (really) #1557 (#1686)
Previous attempt 70527a78f70aa35df141cea3fadf08ca6468cf1c
doesn't work because equal error messages are filtered.
2019-02-23 08:07:46 +01:00
amai2012
7859d7d879 #3030 add another regression test 2019-02-22 21:10:05 +01:00
orbitcowboy
52c7a1b1c2 donate-cpu.py: Auto detect TinyXML2 cfg. 2019-02-22 17:51:47 +01:00
orbitcowboy
3f695fd453 wxwidgets.cfg: Added support for more interfaces. 2019-02-22 17:29:15 +01:00
orbitcowboy
571e6bcecc running astyle. 2019-02-22 16:15:08 +01:00
orbitcowboy
2ef7ae4d8e wxwidgets.cfg: Added support for more interfaces. 2019-02-22 16:14:55 +01:00
Sebastian
6a3e1eeef7
Library configuration validation: Enhance relaxng file, fix *.cfg files. (#1685)
This fixes https://trac.cppcheck.net/ticket/8985 at least for the
function configuration.
Errors in configuration files found by the new relaxng file are fixed.
2019-02-22 15:31:52 +01:00
Steven Cook
71018d6d17 boost.cfg additions (#1680) 2019-02-22 15:21:06 +01:00
Sebastian
70ea6bfb9b
libcerror.cfg: Add libcerror configuration file. (#1684)
The function libcerror_error_set() is currently the function for which
daca@home most often reports a missing configuration (more than 80000
times).
Official repository of libcerror: https://github.com/libyal/libcerror
The library configuration has been tested with the library libvhdi:
ftp://ftp.se.debian.org/debian/pool/main/libv/libvhdi/libvhdi_20181227.orig.tar.gz
2019-02-22 12:52:07 +01:00
Paul Fultz II
941dd79f0d Fix FP issue 8986: constArgument check warns for elements of const array (#1683) 2019-02-22 06:39:59 +01:00
Paul Fultz II
507c7a4388 Improvement to lifetime tracking of addressof and derefencing
This will now warn for cases like this:

```cpp
auto& f() {
    std::vector<int> x;
    return x[0];
}
```

It also improves the handling of address of operator, so it can now warn across some function calls, like this:

```cpp
int& f(int& a) {
    return a;
}
int* hello() {
    int x = 0;
    return &f(x);
}
```
2019-02-22 06:38:56 +01:00
Paul Fultz II
715714f4de Forward lifetimes in "for" loops (#1682)
* Forward lifetimes in for loops

* Format
2019-02-22 06:37:02 +01:00
orbitcowboy
b06b744887 wxwidgets.cfg: Added support for more interfaces. 2019-02-21 14:55:04 +01:00
Sebastian
e27a44a0ea
donate-cpu.py: Improve header detection by using regex. (#1679)
This detects more includes / headers. For example includes like
"# include <gtk/gtk.h>" with a space before "include" as it is used in
the package http://cppcheck.osuosl.org:8000/gbatnav are now also
detected.
The regex search also searches all includes for one library in one go
instead of one include per loop.
Tested with several packages to make sure libraries that were detected
before are still detected.
2019-02-21 08:14:47 +01:00
Paul Fultz II
0ee3f678b5 Fix issue 8987: False positive knownConditionTrueFalse (#1678) 2019-02-20 15:28:31 +01:00
orbitcowboy
c3244cb359 Fixed regression introduced by my previous commit. 2019-02-20 11:11:20 +01:00
orbitcowboy
af9cbe23f9 std.cfg: Added support for more interfaces. 2019-02-20 10:02:01 +01:00
orbitcowboy
8a4dabfe02 wxwidgets.cfg: Added support for more interfaces. 2019-02-20 09:39:00 +01:00
versat
eeedb44e92 donate-cpu.py: Fix regression: Also upload results if only crashes happened
If "head" and "OLD_VERSION" both crash there are no messages and the
variable `results_exist" is set to False. But still the results must be uploaded
for the crashes to be saved also.
Tested with the package http://cppcheck.osuosl.org:8000/double-conversion
2019-02-19 13:29:32 +01:00
rikardfalkeborn
1c1778e4df donate_cpu: Refactor library checks (#1675) 2019-02-19 11:50:39 +01:00
Paul Fultz II
dfaf75db54 Fix issue 8984: FP constStatement regression with qualified name (#1676) 2019-02-19 07:08:36 +01:00
amai2012
6d0a1f80b4 Add more interfaces and attributes 2019-02-18 21:48:41 +01:00
orbitcowboy
0e78547b62 wxwidgets.cfg: Added support for more interfaces. 2019-02-18 18:17:56 +01:00
orbitcowboy
0e03293a54 wxwidgets.cfg: Removed duplicate <leak-ignore/>-tag. One should be enough :-). 2019-02-18 18:12:37 +01:00
orbitcowboy
7f373ea158 wxwidgets.cfg: Added support for more interfaces. 2019-02-18 18:11:29 +01:00
versat
dc63cb9f98 gtk.cfg: Add more details for g_print() and g_printerr()
Reference:
https://developer.gnome.org/glib/stable/glib-Warnings-and-Assertions.html#g-print
2019-02-18 16:48:46 +01:00
versat
8fb4e7dde8 gtk.cfg: Add more details to g_object_unref() configuration
Reference:
https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#g-object-unref
2019-02-18 16:16:10 +01:00
orbitcowboy
fa7a2ecd5a wxwidgets.cfg: Added support for more interfaces. 2019-02-18 14:07:11 +01:00
orbitcowboy
a7b9d8de1b std.cfg: Added support for std::ios_base::setf() and std::ostringstream::setf(). 2019-02-18 12:20:34 +01:00
versat
8e11dc5b41 gtk.cfg: Add support for G_TYPE_CHECK_INSTANCE_CAST() macro 2019-02-18 11:37:19 +01:00
Sebastian
8a9f97b5c8
donate-cpu-server.py: Verify compared Cppcheck version (#1673)
Ignore normal results (not fast or info) where the diff was made against the wrong OLD_VERSION. This avoids unwanted results when some client still analyzes an old package but the OLD_VERSION in the server script is changed for example.
Results missing the Cppcheck version info completely are also ignored.
Tested locally with correct and wrong version numbers.
2019-02-18 10:13:18 +01:00
Kamil Dudka
2908593cf6 checkautovariables: eliminate false positives on assignment of &ptr->item (#1667)
Even if `ptr` is a local variable, the object `ptr->item` might be not.
So taking address of `ptr->item` is definitely not unsafe in general.

This commit fixes false positives triggered by commit
1.85-249-gf42648fe2 on the following code of sssd:

https://github.com/SSSD/sssd/blob/d409df33/src/sbus/request/sbus_request.c#L359
2019-02-18 09:35:07 +01:00
orbitcowboy
0284705551 wxwidgets.cfg: Added support for more interfaces. 2019-02-17 23:45:26 +01:00
orbitcowboy
831670c355 posix.cfg: Improved support for more macros and constants. 2019-02-17 23:35:34 +01:00
orbitcowboy
5135cbeecd std.cfg: Added support for std::multiset::insert(). 2019-02-17 23:15:46 +01:00
orbitcowboy
3aa131470b std.cfg: Added support for std::vector::erase(). 2019-02-17 23:10:17 +01:00
orbitcowboy
af4f3af851 std.cfg: Added support for std::fill(). 2019-02-17 22:58:30 +01:00
orbitcowboy
c28abe7e35 std.cfg: Added support for std::map::insert(). 2019-02-17 22:50:18 +01:00
orbitcowboy
1df9c80e81 std.cfg: Added support for std::move(). 2019-02-17 22:45:45 +01:00
orbitcowboy
8820580cf6 boost.cfg: Improved support for more test macros. 2019-02-17 22:36:36 +01:00
orbitcowboy
b886590cc9 boost.cfg: Improved support for more test macros. 2019-02-17 21:14:03 +01:00
orbitcowboy
4e42f83bc8 boost.cfg: Fixed some 'unknownMacro'-warnings from daca@home. 2019-02-17 20:52:54 +01:00
amai2012
c6a9d9cf15 Initial support for CppUnit 2019-02-17 20:16:01 +01:00
amai2012
8c80c5d620 Fix typo 2019-02-17 17:50:27 +01:00
amai2012
b34fe35191 Add more interfaces 2019-02-17 17:03:40 +01:00
versat
6f57b9abfa gtk.cfg: Add some GTK_*() instance cast macros
SOME GTK_*() macros most often reported as missing by daca@home are added.
2019-02-17 16:41:19 +01:00
orbitcowboy
6b1e324df0 wxwidgets.cfg: Added support for more interfaces. 2019-02-17 14:13:37 +01:00