Commit Graph

1546 Commits

Author SHA1 Message Date
Sebastian a9a70f25ad
sqlite3.cfg: Add more function configurations (#1957)
Some were found missing by daca@home
2019-07-05 15:45:21 +02:00
Rikard Falkeborn 839fcddd8a Fix #6115 (Add support to realloc to cfg files) (#1953)
* Allow to configure realloc like functions

* memleakonrealloc: Bring back tests.

The old memleak checker was removed, and the tests for it was removed in
commit 9765a2dfab. This also removed the
tests for memleakOnRealloc. Bring back those tests, somewhat modified
since the checker no longer checks for memory leaks.

* Add realloc to mem leak check

* Add tests of realloc buffer size

* Configure realloc functions

* Add test of freopen

* Allow to configure which element is realloc argument

* Fix wrong close in test

cppcheck now warns for this

* Update manual

* Update docs

* Rename alloc/dalloc/realloc functions

Naming the member function realloc caused problems on appveyor. Rename
the alloc and dealloc functions as well for consistency.

* Change comparisson order

* Remove variable and use function call directly

* Create temporary variable to simplify

* Throw mismatchError on mismatching allocation/reallocation

* Refactor to separate function

* Fix potential nullptr dereference

As pointed out by cppcheck.
2019-07-05 12:44:52 +02:00
orbitcowboy afce191db1 wxwidgets.cfg: Simplified macro 2019-07-05 11:06:29 +02:00
orbitcowboy df16e69725 wxwidgets.cfg: Added support for more macros from wx/event.h 2019-07-05 11:03:41 +02:00
orbitcowboy 6588c90b26 wxwidgets.cfg: Added support for more macros from wx/event.h 2019-07-05 11:00:59 +02:00
orbitcowboy 26038244a3 wxwidgets.cfg: Added support for more macros from wx/event.h 2019-07-05 10:54:46 +02:00
Sebastian c45dff1e1d
openmp.cfg: Add library configuration for OpenMP (#1956)
See https://www.openmp.org/
2019-07-05 03:00:52 +02:00
Rikard Falkeborn 60a213e6a5 Fix #9047 (c-style casts before malloc) (#1930)
* Fix #9047 (c-style casts before malloc)

Note that there are still no warnings for c++-style casts

* Fix memleak check with casts of assignments in if-statements

* Fix possible null pointer dereference

As pointed out by cppcheck.

* Add check of astOperand2 when removing casts

This is similar to how it is done in other checks.
2019-07-03 08:39:44 +02:00
Sebastian 6ba3b2703a
posix.cfg: Add setsockopt() and getsockopt() (#1944)
Found by daca@home
2019-07-02 15:14:31 +02:00
Rikard Falkeborn b530b3dfff Remove <noreturn> from g_malloc and friends (#1942)
From the Gnome Developer documentation
(https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html):

    If any call to allocate memory using functions g_new(), g_new0(),
    g_renew(), g_malloc(), g_malloc0(), g_malloc0_n(), g_realloc(), and
    g_realloc_n() fails, the application is terminated. This also means
    that there is no need to check if the call succeeded. On the other
    hand, g_try_...() family of functions returns NULL on failure that
    can be used as a check for unsuccessful memory allocation. The
    application is not terminated in this case.

g_new(), g_new0() and g_renew() are defines using g_malloc(),
g_malloc0() and g_realloc() respectively, so there is no need to change
those.
2019-07-02 11:51:28 +02:00
orbitcowboy cca1a6aa2e wxwidgets.cfg: Added support for more interfaces. 2019-07-02 08:48:32 +02:00
orbitcowboy 78bf217354 windows.cfg: Added support for more contants. Reference: https://docs.microsoft.com/de-de/windows/win32/api/minwinbase/ns-minwinbase-debug_event 2019-07-02 08:43:10 +02:00
orbitcowboy 399da228da windows.cfg: Added support for more constants. 2019-07-01 17:17:59 +02:00
Sebastian 389df97352
gtk.cfg: Add/improve g_ascii_*() functions (#1927)
* gtk.cfg: Add/improve g_ascii_*() functions

Found via daca@home

* gtk.cfg: Add `<const/>` where applicable (forgotten in last commit)

* gtk.cfg: Add `<valid>0:255</valid>` for `gchar` ASCII value arguments
2019-06-30 21:16:45 +02:00
orbitcowboy b07cc09fa9 wxwidgets.cfg: Added support for more interfaces. 2019-06-30 14:20:54 +02:00
Daniel Marjamäki c2144d73b3 windows.cfg: SetClipboardData takes the data so the configuration should not say <leak-ignore>/ (https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setclipboarddata) 2019-06-28 17:30:05 +02:00
Sebastian d745dcc0eb
gtk.cfg: Add g_error_*() functions (#1922) 2019-06-25 19:19:10 +02:00
Sebastian a437a22460
windows.cfg: Add GetDlgItem() (#1921)
Reference:
https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getdlgitem
2019-06-25 15:31:42 +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
Sebastian 1a4854d93d
windows.cfg: Add macros STDMETHODIMP[_] and STDMETHODCALLTYPE (#1908) 2019-06-20 00:44:43 +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
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
orbitcowboy 4939e0c308 wxwidgets.cfg: Added support for more interfaces. 2019-06-10 21:11:28 +02:00
orbitcowboy 87e7b57170 wxwidgets.cfg: Added support for more interfaces. 2019-06-10 12:06:06 +02:00
orbitcowboy 2caea15056 wxwidgets.cfg: Added support for more interfaces. 2019-06-09 14:44:06 +02:00
orbitcowboy 1e53cf0397 std.cfg: Added support for std::stringstream::str() 2019-06-07 21:07:22 +02:00
orbitcowboy 92d8b9d68f std.cfg: Added support for std::ofstream::write(). 2019-06-07 21:02:16 +02:00
orbitcowboy 89d4cefa96 std.cfg: Added support for std::distance() and std::set::count(). 2019-06-07 20:57:26 +02:00
orbitcowboy a6e681f71e std.cfg: Added support for std::rotate() and std::rotate_copy(). 2019-06-06 15:04:00 +02:00
orbitcowboy 2b816d09fb std.cfg: Added support for std::min_element() and std::max_element(). 2019-06-06 14:55:37 +02:00
orbitcowboy 9a163e59bf std.cfg: Added support for std::ostream::put() and std::stringstream::put(). 2019-06-06 14:45:51 +02:00
orbitcowboy 080ba9004c std.cfg: Attempt to add (partial) support for std::istringstream::get. 2019-06-05 13:54:38 +02:00
orbitcowboy 0b726d5738 std.cfg: Attempt to add (partial) support for std::istream::get(). 2019-06-05 13:53:01 +02:00
orbitcowboy de15a3de5f windows.cfg: Added support for more constants from <winnt.h>. 2019-06-05 10:42:48 +02:00
orbitcowboy c8850cc132 windows.cfg: Simplified some constants. There are no functional chnanges intended. 2019-06-05 10:15:10 +02:00
orbitcowboy c73d3930cc std.cfg: Added support for more interfaces. 2019-06-04 17:01:30 +02:00
orbitcowboy da3dc168cd std.cfg: Added support for more interfaces. 2019-06-04 16:44:14 +02:00
orbitcowboy 613defbf39 std.cfg: Added support for std::ostream::write() and std::fstream::write(). 2019-06-04 09:02:25 +02:00
orbitcowboy b2fbea3406 wxwidgets.cfg: Added support for more constants from <wx/defs.h> 2019-06-03 21:20:26 +02:00
orbitcowboy f8b79e5187 wxwidgets.cfg: Added support for more event table macros. 2019-06-03 20:58:16 +02:00
orbitcowboy e2878783c5 wxwidgets.cfg: Added support for constants from <wx/dir.h> 2019-06-03 16:43:46 +02:00
orbitcowboy 08b2669a4c wxwidgets.cfg: Added support for more interfaces. 2019-06-03 13:23:34 +02:00
orbitcowboy a44ea9f2ed windows.cfg: Added support for more interfaces. 2019-06-02 13:44:30 +02:00
orbitcowboy 9a41b51a04 gnu.cfg: Added support for isascii_l(), which is a GNU-extension. 2019-05-31 11:24:41 +02:00
orbitcowboy 608ea2f250 posix.cfg: Cleanup not required arg. 2019-05-31 11:24:04 +02:00
orbitcowboy 76738692f2 posix.cfg: Added support for isascii(). 2019-05-31 11:21:50 +02:00
orbitcowboy c13e17ed71 Revert "posix.cfg: Added support for more interfaces."
This reverts commit e596bd63f8.
2019-05-31 11:18:11 +02:00
orbitcowboy e596bd63f8 posix.cfg: Added support for more interfaces. 2019-05-31 11:15:43 +02:00
orbitcowboy ec2278c717 posix.cfg: Added support for more interfaces. 2019-05-31 11:06:25 +02:00
orbitcowboy e0b1eee4af wxwidgets.cfg: Added support for more interfaces. 2019-05-31 10:37:36 +02:00
orbitcowboy a27c88f99b wxwidgets.cfg: Added support for more interfaces. 2019-05-30 17:27:57 +02:00
orbitcowboy 221e96e473 wxwidgets.cfg: Added support for more interfaces. 2019-05-30 17:14:33 +02:00
orbitcowboy 368fa4f54f wxwidgets.cfg: Added support for more interfaces. 2019-05-30 14:57:43 +02:00
orbitcowboy 67c2d90887 wxwidgets.cfg: Added support for more interfaces. 2019-05-30 14:46:42 +02:00
orbitcowboy 16e36d66f9 wxwidgets.cfg: Added support for more interfaces. 2019-05-30 14:41:42 +02:00
orbitcowboy 774556dc10 wxwidgets.cfg: Added support for wxStaticBitmap::SetBackgroundColour(). 2019-05-28 10:52:46 +02:00
orbitcowboy 0b903d12fc wxwidgets.cfg: Added support for more interfaces. 2019-05-28 10:46:34 +02:00
orbitcowboy 6a6e42f3eb wxwidgets.cfg: Added support for more interfaces. 2019-05-28 10:38:32 +02:00
orbitcowboy 197cade317 wxwidgets.cfg: Added (partial) support for wxString::append(). 2019-05-28 09:03:16 +02:00
orbitcowboy cf89f40e32 wxwidgets.cfg: Added support for more interfaces. 2019-05-28 08:58:26 +02:00
orbitcowboy 66e8ec90de wxwidgets.cfg: Added support for wxWindow::ClientToScreen(). 2019-05-28 08:50:38 +02:00
orbitcowboy 02d307a231 posix.cfg: Added partial support for scandir() and a TODO comment. 2019-05-25 23:32:28 +02:00
orbitcowboy 8f2a84ec6c posix.cfg: Added support for telldir(). 2019-05-25 22:49:01 +02:00
orbitcowboy e9aaa5edfa posix.cfg: Added support for more interfaces. 2019-05-22 09:33:44 +02:00
orbitcowboy fbf98b421a posix.cfg: Removed invalid argument checks from functions that accept 'AT_FDCWD', which set to -100 on some systems. 2019-05-21 21:09:16 +02:00
orbitcowboy ed2aa52bbf posix.cfg: Fixed duplicate name 'fstat' -> 'fstatat'. 2019-05-21 16:25:53 +02:00
orbitcowboy 8c0e4a2fc7 posix.cfg: Removed the validation range option from the first parameter of fstatat(). Reference: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fstatat.html 2019-05-21 16:23:41 +02:00
orbitcowboy e63b3a44d8 posix.cfg: Added support for fstatat(). 2019-05-21 15:21:48 +02:00
orbitcowboy 03b4447350 posix.cfg: Added support for flockfile(), funlockfile() and trylockfile(). 2019-05-18 11:29:30 +02:00
orbitcowboy 570969be08 posix.cfg: Added support for lockf(). 2019-05-18 11:07:43 +02:00
orbitcowboy e85e722fb4 posix.cfg: Added support for fchownat(). 2019-05-18 10:59:40 +02:00
orbitcowboy 62c4199bcd posix.cfg: Added support for fchmodat(). 2019-05-18 10:54:17 +02:00
orbitcowboy c0c9f33323 posix.cfg: Added support for mkdirat(). 2019-05-18 10:46:17 +02:00
orbitcowboy d0606844b7 posix.cfg: Added support for umask(). 2019-05-17 15:52:27 +02:00
Daniel Marjamäki e80181d35a astyle formatting
[ci skip]
2019-05-17 09:32:14 +02:00
orbitcowboy 0469111750 gnu.cfg: Improved configuration for mkostemp(), mkstemps() and mkostemps(). 2019-05-16 16:02:05 +02:00
orbitcowboy 719eb25ba9 posix.cfg: Improved configuration for 'mkstemp()' and added test cases to ensure resource leaks are caught. 2019-05-16 15:53:22 +02:00
orbitcowboy fd416eadce wxwidgets.cfg: Added support for more interfaces. 2019-05-13 16:51:34 +02:00
orbitcowboy 9567076845 wxwidgets.cfg: Added support for more interfaces. 2019-05-10 08:54:58 +02:00
Sebastian aa837075a5 wxwidgets.cfg: Add smart pointers from wxWidgets (#1828) 2019-05-09 20:04:39 +02:00
orbitcowboy 6b2db79af9 wxwidgets.cfg: Added support for more interfaces. 2019-05-09 15:31:49 +02:00
orbitcowboy 03d7c82019 wxwidgets.cfg: Added support for more interfaces. 2019-05-05 14:37:26 +02:00
orbitcowboy 961f5c173b wxwidgets.cfg: Added support for more interfaces. 2019-05-05 14:28:22 +02:00
orbitcowboy d0d671761a wxwidgets.cfg: Added support for more interfaces. 2019-05-04 17:46:17 +02:00
orbitcowboy a439b5dcc6 wxwidgets.cfg: Added support for wxArtProvider::GetBitmap() 2019-05-03 23:39:16 +02:00
orbitcowboy de830d90c8 wxwidgets.cfg: Added support for wxMenuItem::SetBitmap() 2019-05-03 23:35:41 +02:00
orbitcowboy 49d1383ff4 wxwidgets.cfg: Added support for wxString::CmpNoCase() 2019-05-03 23:31:15 +02:00
orbitcowboy 456f1c60c4 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 23:29:21 +02:00
orbitcowboy 92be62a6eb gnu.cfg: Ensure the return value of pipe2() is taken into account. 2019-05-03 22:15:46 +02:00
orbitcowboy cda25d7205 posix.cfg: Ensure the return value of pipe() is taken into account. 2019-05-03 22:15:30 +02:00
orbitcowboy 90c6ea53ef posix.cfg: Added support for socketpair(). 2019-05-03 20:52:10 +02:00
Sebastian 96a7c19b91
qt.cfg: Add smart pointers from Qt (#1819) 2019-05-03 13:21:49 +02:00
orbitcowboy bf358408d9 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:57:24 +02:00
orbitcowboy deedd7493c wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:54:24 +02:00
orbitcowboy 6a281b90b4 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:40:49 +02:00
orbitcowboy 8b157a7b9c wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:31:57 +02:00
orbitcowboy 93e963bac5 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:28:30 +02:00
orbitcowboy 1c896fc7f7 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 10:10:58 +02:00
orbitcowboy 0a3fdd3981 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 10:03:06 +02:00
orbitcowboy 2635e7d073 wxwidgets.cfg: Added support for more interfaces. 2019-05-02 16:20:37 +02:00
orbitcowboy 9bd007520b wxwidgets.cfg: Added support for wxStandardPaths::MSWGetShellDir(). 2019-05-02 11:34:15 +02:00
orbitcowboy b81390c098 wxwidgets.cfg: Added support for wxCONCAT(), wxSTRINGIZE_T() and wxSTRINGSIZE() macros. 2019-05-02 11:30:30 +02:00
Paul Fultz II 091f4bcf8d Add check for unnecessary search before insertion
This will warn for cases where searching in an associative container happens before insertion, like this:

```cpp
void f1(std::set<unsigned>& s, unsigned x) {
    if (s.find(x) == s.end()) {
        s.insert(x);
    }
}

void f2(std::map<unsigned, unsigned>& m, unsigned x) {
    if (m.find(x) == m.end()) {
        m.emplace(x, 1);
    } else {
        m[x] = 1;
    }
}
```

In the case of the map it could be written as `m[x] = 1` as it will create the key if it doesnt exist, so the extra search is not necessary.

I have this marked as `performance` as it is mostly concerning performance, but there could be a copy-paste error possibly, although I dont think thats common.
2019-05-02 11:04:23 +02:00
orbitcowboy 76cc8ccde2 posix.cfg: Added directions for some interfaces. 2019-05-01 19:57:10 +02:00
orbitcowboy 953895278b posix.cfg: Improved configuration fo fileno(). 2019-05-01 13:58:54 +02:00
orbitcowboy d36fcbd945 posix.cfg: Added support for dirfd(). 2019-05-01 13:54:23 +02:00
orbitcowboy c8dce14303 wxwidgets.cfg: Added support for more interfaces. 2019-04-27 18:36:48 +02:00
amai2012 b5ee9d97ef Move some signal constants from posix.cfg to std.cfg. Add some more interfaces to posix.cfg 2019-04-26 19:26:04 +02:00
orbitcowboy d724f86e01 gnu.cfg: Added support for tee(). Reference: http://man7.org/linux/man-pages/man2/tee.2.html 2019-04-26 17:55:47 +02:00
orbitcowboy 3ca2db062c wxwidgets.cfg: Added support for wxRect::Contains(). 2019-04-26 17:46:09 +02:00
orbitcowboy 322ef3ebb3 wxwidgets.cfg: Fixed wrong function name. 2019-04-26 17:43:19 +02:00
orbitcowboy 754e5f6529 wxwidgets.cfg: Added support for more interfaces. 2019-04-26 17:41:08 +02:00
orbitcowboy 7d0bb0dc29 posix.cfg: Improved validation of file descriptors. 2019-04-26 16:58:21 +02:00
orbitcowboy 2dd42b867f gnu.cfg: Added support for dup3(). Reference: http://man7.org/linux/man-pages/man2/dup2.2.html 2019-04-26 16:57:43 +02:00
orbitcowboy 2d7323c65f posix.cfg: Added support for sendfile(). 2019-04-26 16:47:49 +02:00
orbitcowboy c693e8969d gnu.cfg: Added support for more interfaces. 2019-04-26 16:39:04 +02:00
Sebastian 53357f2f31
boost.cfg: Add configuration for Boosts smart pointers (#1811) 2019-04-26 12:41:44 +02:00
orbitcowboy bc7e835524 posix.cfg: Added support for ttyname_r(). 2019-04-26 10:24:10 +02:00
orbitcowboy 6d681a0959 posix.cfg: Issue a warning in case a function accepting a file descriptor is called with a negative value. 2019-04-26 10:16:29 +02:00
orbitcowboy f288e18c2c posix.cfg: Added support for more interfaces. 2019-04-26 09:48:38 +02:00
orbitcowboy 254cdd3b19 windows.cfg: Issue a warning in case _close() is called with a negative file descriptor. 2019-04-26 09:26:25 +02:00
orbitcowboy c0b533c452 gnu.cfg: Warn for socket/file-descriptors having negatives values. 2019-04-25 17:07:44 +02:00
orbitcowboy c4fb56e550 posix.cfg: Warn for socket/file-descriptors having negatives values. 2019-04-25 17:04:30 +02:00
orbitcowboy 4a91b7ec77 Merge branch 'master' of https://github.com/danmar/cppcheck 2019-04-25 16:58:47 +02:00
orbitcowboy df49b56a6f posix.cfg: Added support for openat(). Reference: http://man7.org/linux/man-pages/man2/openat.2.html 2019-04-25 16:56:22 +02:00
amai2012 9692c3dde7 Add macros from signal.h 2019-04-25 12:17:26 +02:00
Daniel Marjamäki 87a3d2caa1 std.cfg: Add auto_ptr and weak_ptr configs 2019-04-24 14:21:26 +02:00
Daniel Marjamäki 2513c1499b Library: Added <smart-pointer> element 2019-04-24 13:06:58 +02:00
orbitcowboy 751902da86 posix.cfg: Added more 'direction'-attributes. 2019-04-21 12:34:44 +02:00
orbitcowboy 45a3f679b4 posix.cfg: Improved configuration for close(). Issue a warning in case close is called with a file pointer having a negative value. 2019-04-21 12:28:17 +02:00
amai2012 2788d9f7d2 Correct two recently added macros 2019-04-19 15:43:17 +02:00
amai2012 cfe11acf82 Supply BE() and ASSERT() macros 2019-04-19 12:10:42 +02:00
versat 206488c0ea gtk.cfg: Add some g_list_*() function / macro configurations.
Found missing by daca@home.
2019-04-18 10:49:02 +02:00
versat 5579ea3338 motif.cfg: Add configuration for XFree() 2019-04-16 11:22:08 +02:00
orbitcowboy 2105247934 wxwidgets.cfg: Added support for wxPropertyGridManager::Enable(). 2019-04-12 13:49:12 +02:00
orbitcowboy a46136de91 wxwidgets.cfg: Added wxPathFormat constants. 2019-04-08 13:27:34 +02:00
orbitcowboy f6136c513a wxwidgets.cfg: Added support for wxFileName::GetPathSeparator(). 2019-04-08 11:47:09 +02:00
orbitcowboy 501cea7e01 wxwidgets.cfg: Fixed wrong configuration for wxString::Mid() 2019-04-05 09:31:48 +02:00
orbitcowboy 1b9b5168d0 daca.cfg: Turned macros into functions to avoid problems with macros like 'MIN(a,b,c)'. 2019-04-05 09:28:15 +02:00
orbitcowboy 45a7038fbb wxwidgets.cfg: Added supprot for more interfaces 2019-04-05 09:27:23 +02:00
orbitcowboy b0168066dc Added daca.cfg. 2019-04-05 09:05:31 +02:00
orbitcowboy 3d765eacaf wxwidgets.cfg: Added support for more interfaces. 2019-04-05 08:44:06 +02:00
orbitcowboy 0590cebaac wxwidgets.cfg: Added support for more interfaces. 2019-04-05 08:27:24 +02:00