Commit Graph

20203 Commits

Author SHA1 Message Date
Daniel Marjamäki c855cf8682 ValueType: Better constness for auto variable 2019-02-23 18:16:18 +01:00
Daniel Marjamäki b43572d75e Fixed #8969 (C++ functional cast not handled correctly) 2019-02-23 17:29:53 +01:00
Sebastian 9379266a52
donate-cpu.py: Improve regex to find more includes. (#1688)
Now also found:
- Includes directly at the beginning of a file
- Indented includes
- Includes where there is no white-space between
  "include" and header name
2019-02-23 17:13:35 +01:00
orbitcowboy c8fab94cee wxwidgets.cfg: Added support for more interfaces. 2019-02-23 17:11:27 +01:00
orbitcowboy 2d2f64da1b wxwidgets.cfg: Added support for more interfaces. 2019-02-23 17:02:04 +01:00
orbitcowboy afb0d2aab6 wxwidgets.cfg: Added support for more interfaces. 2019-02-23 16:56:35 +01:00
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 70527a78f7
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