Commit Graph

2456 Commits

Author SHA1 Message Date
orbitcowboy 3b133176ed windows.cfg: Added some missing <strz/>-flags 2022-06-04 07:52:31 +02:00
orbitcowboy ee072b11cd posix.cfg: Added some missing <strz/> and <minsize>-flags 2022-06-03 21:36:01 +02:00
orbitcowboy eae164371c std.cfg: Added some missing <strz/>-flags 2022-06-03 21:24:20 +02:00
orbitcowboy 1e3efc1bdf std.cfg: Added some missing <strz/>-flags 2022-06-03 21:20:52 +02:00
orbitcowboy 345411a68c Fixed FP found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/i/imx-usb-loader/imx-usb-loader_0~git20200517.30b43d69.orig.tar.gz; imx_usb_loader/imx_loader_config.c:130:16: error: Invalid strncat() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr] 2022-06-03 10:20:19 +02:00
orbitcowboy a59e510cdc Fixed FP - invalidFunctionArgStr, found with daca@home: ftp://ftp.de.debian.org/debian/pool/main/i/ion/ion_3.2.1+dfsg.orig.tar.gz; ion-open-source/arch-rtems/pmqlsi.c:146:18: error: Invalid mq_send() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr] 2022-06-03 10:06:32 +02:00
orbitcowboy 8382ea7692 std.cfg: Improved configuration of strpbrk() and added regression tests. These cases were found in the wild (daca@home: ftp://ftp.de.debian.org/debian/pool/main/i/ion/ion_3.2.1+dfsg.orig.tar.gz, ion-open-source/contrib/dtnperf/dtnperf/src/utils.c:71:32: error: Invalid strpbrk() argument nr 2. A nul-terminated string is required. [invalidFunctionArgStr]). 2022-06-03 08:36:25 +02:00
orbitcowboy 4e9565b4e6 Fixed FP invalidFunctionArgStr, found a daca@home: ftp://ftp.de.debian.org/debian/pool/main/h/haskell-hs-bibutils/haskell-hs-bibutils_6.10.0.0.orig.tar.gz 2022-06-02 23:39:04 +02:00
orbitcowboy 67795cdfcf
Fixed FPs from Ticket 11119 - invalidFunctionArgStr with null-terminated strings (#4164)
* Fixed first FP from #11119 - invalidFunctionArgStr with null-terminated strings

* Fixed second test case from #11119.

* Fixed another FP, found on daca@home ftp://ftp.de.debian.org/debian/pool/main/g/glhack/glhack_1.2.orig.tar.gz.

* Format
2022-06-02 19:30:29 +02:00
orbitcowboy 50c612b7d9 gnu.cfg: Added missing '<strz/>'-flags 2022-06-02 09:58:47 +02:00
orbitcowboy 0eae0023a3 posix.cfg: Added missing '<strz/>'-flags 2022-06-02 09:41:10 +02:00
orbitcowboy 63a8eac4d3 std.cfg: Added missing '<strz/>'-flags 2022-06-02 09:23:22 +02:00
orbitcowboy 886b5d1039 Improved invalidFunctionArgStr checking and detect more cases where a NON-null-terminated string is used to call functions, configured with <strz/>. 2022-06-02 01:09:09 +02:00
orbitcowboy 558e00272d windows.cfg: Improved configuration of _mbscmp() and _mbscmp_l(). 2022-05-27 12:28:30 +02:00
orbitcowboy 0be9863c85 windows.cfg: Added support for _mbscmp_l(). 2022-05-25 13:29:14 +02:00
orbitcowboy 9f9bac35d0 posix.cfg: Improved configuration of mbsnrtowcs(). 2022-05-23 15:13:11 +02:00
orbitcowboy 53328cfa7d posix.cfg: Added support for mbsnrtowcs(). 2022-05-23 15:10:12 +02:00
orbitcowboy 52ed651447 posix.cfg: Added support for lfind() and lsearch(). 2022-05-23 15:01:45 +02:00
orbitcowboy cada21c101 std.cfg: Added support for std::minmax() 2022-05-21 16:46:19 +02:00
orbitcowboy f0b4c09804 std.cfg: Added support for std::minmax_element(). 2022-05-21 16:37:22 +02:00
orbitcowboy ac4ee8e63f std.cfg: Improved configuration of fmod[lf](). 2022-05-15 08:17:26 +02:00
orbitcowboy 4f410ffb79
library: Improved argument <valid>-interface to defined values that are explicitly excluded. (#4111)
* library: Improved <valid>-interface to defined values that are explicitly excluded.

* std.cfg: Improved configuration of remainder[fl]().

* Fixed failing self check

* Fixed failing self check

* std.cfg: Added support for std::remquo().
2022-05-14 16:05:18 +02:00
Paul Fultz II 6d3208ecb0
Fix 11062: false positive: knownEmptyContainer (regression) (#4106)
* Fix 11062: false positive: knownEmptyContainer (regression)

* Format
2022-05-12 06:24:16 +02:00
orbitcowboy f23111d610 std.cfg: Improved configuration of some <thread.h> (since C11) functions. 2022-05-10 19:21:41 +02:00
orbitcowboy 5a718c0820 std.cfg: Improved configuration of thrd_create(). 2022-05-10 18:58:21 +02:00
orbitcowboy 57e35513b9 std.cfg: Improved testing of std::system() 2022-05-10 13:53:16 +02:00
orbitcowboy 6152e5712a std.cfg: Improved configuration of std::filebuf::open(). 2022-05-10 10:17:27 +02:00
orbitcowboy 1382cd837e std.cfg: Improved configuration of std::*stream::open(). 2022-05-10 10:07:55 +02:00
orbitcowboy 6a3520164a std.cfg: Improved configuration of std::ifstream::open() and std::ios_base::open(). 2022-05-10 09:50:02 +02:00
orbitcowboy 440e8f9c22 std.cfg: Improved configuration of std::ofstream::write(), std::ostringstream::write(), std::ostream::write() and std::fstream(). 2022-05-10 09:30:13 +02:00
orbitcowboy b847882994 std.cfg: Improved configuration of vfwprintf(). 2022-05-08 18:15:22 +02:00
orbitcowboy 0db793fc51 std.cfg: Improved configuration of vfprintf() 2022-05-08 18:06:30 +02:00
orbitcowboy 1942bd5679 std.cfg: Improved configuration of fprintf() and added TODO tests for wcsftime() when array count value exceeds bounds. 2022-05-08 18:02:10 +02:00
orbitcowboy f3ae729f89 std.cfg: Improved configuration of fesetexceptflag() and fetestexcept(). 2022-05-05 15:07:06 +02:00
orbitcowboy 907dcddd3b posix.cfg: Added support for getline() and getdelim(). 2022-05-04 20:35:01 +02:00
orbitcowboy e293b66ac6 gnu.cfg: Added support for getservent_r(). 2022-05-03 11:54:28 +02:00
orbitcowboy 5a7c998a79 posix.cfg: Improved configuration of getpwuid_r(). 2022-05-02 16:48:22 +02:00
orbitcowboy 8cc16f1adb posix.cfg: Improved configuration of getpwnam_r(). 2022-05-02 16:41:33 +02:00
orbitcowboy 6c54e7363d posix.cfg: Added support for fgetpwent_r(). 2022-05-02 12:56:47 +02:00
orbitcowboy 86cc410dc2 posix.cfg: Added support for getpwent_r(). 2022-05-02 12:51:58 +02:00
orbitcowboy ba57f33f81 posix.cfg: Added support for getgrnam_r() and getgrgid_r(). 2022-05-02 12:28:54 +02:00
orbitcowboy 28da263d8b gnu.cfg: Added support for qsort_r(). 2022-05-02 12:06:45 +02:00
orbitcowboy 0ec2d5f40d std.cfg: Improved configuration of qsort(). 2022-05-02 11:58:31 +02:00
orbitcowboy 6ad5a94acf gnu.cfg: Improved configuration for memrchr(). 2022-05-01 18:10:19 +02:00
orbitcowboy e0ccfea027 gnu.cfg: Improved configuration of ffsl() and ffsll() 2022-05-01 15:29:35 +02:00
orbitcowboy 178efb7058 posix.cfg: Improved configuration for ffs(). 2022-05-01 15:24:57 +02:00
orbitcowboy 925902245f posix.cfg: Improved configuration for renameat(). 2022-05-01 14:18:37 +02:00
orbitcowboy 0e4a17e2ab posix.cfg: Improved configuration of readlinkat(). 2022-05-01 14:08:08 +02:00
orbitcowboy 5db6fc1f54 std.cfg: Improved configuration of localtime_s() 2022-05-01 12:47:13 +02:00
orbitcowboy 0410f01647 posix.cfg: Improved configuration of recv() and recvfrom(). 2022-05-01 12:29:08 +02:00
orbitcowboy 01a24d2ce0 posix.cfg: Improved configuration of recv(). 2022-05-01 12:27:14 +02:00
orbitcowboy d6af9da83d posix.cfg: Improved configuration of recvfrom(). 2022-05-01 12:24:15 +02:00
orbitcowboy 85f44d36dd gnu.cfg: Added support for semtimedop(). 2022-05-01 11:41:51 +02:00
orbitcowboy 63e58b9051 posix.cfg: Added support for semop(). 2022-05-01 11:41:31 +02:00
orbitcowboy 6796f9daa2 std.cfg: Moved strdup() from posix.cfg to std.cfg since its now part of C23. 2022-04-27 12:41:40 +02:00
orbitcowboy d4bd232264 Fixed failing test: b2c3a9e9a3 2022-04-27 11:00:55 +02:00
orbitcowboy b2c3a9e9a3 posix.cfg: Improved configuration for send(). 2022-04-27 10:41:57 +02:00
orbitcowboy 9726dc8174 posix.cfg: Improved support for sendto(). 2022-04-27 10:35:43 +02:00
orbitcowboy fa1182c0f1 bsd.cfg: Added support for setbuffer() and setlinebuf(). 2022-04-27 10:22:38 +02:00
orbitcowboy 53ebb55e1f std.cfg: Improved configuration of setvbuf(). 2022-04-27 10:09:23 +02:00
orbitcowboy 17189e1d6e std.cfg: Improved configuration of strftime(). 2022-04-26 18:03:39 +02:00
orbitcowboy 0d35a60954 posix.cfg: Added support for drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48 and lcong48 - generate uniformly distributed pseudo-random numbers. 2022-04-26 17:24:39 +02:00
orbitcowboy bfbc7e1549 posix.cfg: Added support for getlogin_r(). 2022-04-26 10:04:15 +02:00
orbitcowboy 9e9997be32 bsd.cfg: Added support for preadv2() and pwritev2() 2022-04-26 09:53:45 +02:00
orbitcowboy bd1104d786 posix.cfg: Added support for pread(). 2022-04-26 09:37:08 +02:00
orbitcowboy 942375741b posix.cfg: Added support for pwrite(). 2022-04-26 09:26:39 +02:00
orbitcowboy 80297acad0 std.cfg: Added missing <formatstr/> configuration to vswprintf(). 2022-04-25 18:40:14 +02:00
orbitcowboy d7063806d1 posix.cfg: Improved configuration for swab(). 2022-04-25 18:34:31 +02:00
orbitcowboy d1b6954dd8 std.cfg: Improved configuration for wcsrtombs(). 2022-04-25 18:25:52 +02:00
orbitcowboy 31d0b0b73b posix.cfg: Improved configuration for wcsnrtombs(). 2022-04-25 15:54:44 +02:00
orbitcowboy 89ae22c0e1 posix.cfg: Improved configuration for wcsnrtombs(). 2022-04-25 15:49:37 +02:00
orbitcowboy d42bab47ae posix.cfg: Added support for wcsnrtombs(). 2022-04-25 12:26:02 +02:00
orbitcowboy 54478bd6d3 posix.cfg: Fixed wrong arg number 2022-04-22 08:55:28 +02:00
orbitcowboy 097438f308 posix.cfg: utimes() is a wrapper for utime(), which is obsolescent. Set utimes() as obsolescent as well. 2022-04-22 08:18:21 +02:00
orbitcowboy 478aa6754b posix.cfg: Added support for wcsncasecmp(). 2022-04-22 08:07:20 +02:00
orbitcowboy 0560a946a8 std.cfg: Added more tests 2022-04-22 08:00:45 +02:00
orbitcowboy 051512dd48 bsd.cfg: Added support for pwritev(), preadv(), writev() and writev(). 2022-04-22 07:41:03 +02:00
orbitcowboy 3bd65d42cd posix.cfg: Fixed bufferAccessOutOfBounds falsen negative for strnlen() and added a TODO for wcsnlen() 2022-04-21 09:02:02 +02:00
orbitcowboy dad1a68e51 posix.cfg: Fixed FP bufferOverlap-warning of bcopy() and added more tests. 2022-04-21 08:31:22 +02:00
orbitcowboy 1fb1b22bae posix.cfg: Improved configuration for bzero() and added tests. 2022-04-20 20:57:58 +02:00
orbitcowboy d0ff2a022a posix.cfg: Added support for wcwidth(). 2022-04-20 17:32:26 +02:00
orbitcowboy 1067cb6e5d posix.cfg: Added support for wcswidth(). 2022-04-20 15:23:46 +02:00
orbitcowboy df84bed889 posix.cfg: Added support for more interfaces. 2022-04-20 07:45:38 +02:00
orbitcowboy 5a3d84d84d posix.cfg: Added support for aio_read() 2022-04-20 07:27:28 +02:00
orbitcowboy f3907e4c9e posix.cfg: Added support for aio_suspend(). 2022-04-19 21:13:09 +02:00
orbitcowboy 24303bfdd3 wxwidgets.cfg: Fixed FPs due to wrong direction attribute set for wxString::ToDouble and wxString::ToCDouble(). 2022-04-19 06:53:34 +02:00
orbitcowboy 6746da5e53 wxwidgets.cfg: Fixed some FPs for wxTextCtrl::GetSelection(), where the argument direction was wrongly set as input. 2022-04-18 15:41:50 +02:00
orbitcowboy 0000bb2792 gnu.cfg: Added support for mempcpy() and wmempcpy(). Ref.: https://man7.org/linux/man-pages/man3/mempcpy.3.html 2022-04-05 11:09:58 +02:00
Paul Fultz II 54fbfd7c0f
Fix 10895: FP danglingTempReference with emplace() (#3948)
* Fix 10895: FP danglingTempReference with emplace()

* Format
2022-03-27 10:02:30 +02:00
amai2012 a143fa37dd
use-retval for localtime() (#3935)
* use-retval for localtime()

* Adjust test to avoid new warning
2022-03-25 17:32:54 +01:00
orbitcowboy ae6f1f7ceb windows.cfg: Added support for _localtime32() and _localtime64(). Ref.: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/localtime-localtime32-localtime64?view=msvc-170 2022-03-25 13:59:25 +01:00
Paul Fultz II 4b4037540a
valueFlowUninit: Handle arrays and pod types (#3917)
* valueFlowUninit: Handle arrays and pod types

* Format

* Catch another array case
2022-03-24 06:35:44 +01:00
orbitcowboy d376201cb4 gnu.cfg: Added support for getpw(). Ref.: https://man7.org/linux/man-pages/man3/getpw.3.html 2022-03-23 17:14:26 +01:00
orbitcowboy cb6f234a92 gnu.cfg: Added support for secure_getenv() 2022-03-22 09:32:34 +01:00
Armin Müller 7cc45fb393
Typos found by running "codespell" (#3907)
Co-authored-by: Armin Müller <mueller.armin@foestergroup.de>
2022-03-16 15:28:44 +01:00
chrchr-github 8a7992c6ac
Suppress operatorEqVarError for known non-copyable types (#3869)
* Fix FP operatorEqVarError with class hierarchy

* Suppress operatorEqVarError for std::mutex

* Add test, non-copyable Qt types

* Update cppcheck-cfg.rng
2022-03-03 09:41:26 +01:00
orbitcowboy 48f2524774 std.cfg: Added support for std::unordered_map::at() 2022-02-23 15:27:49 +01:00
chrchr-github 2f46e57311
Add leak-ignore for fopen_s(), test cases (#3839)
* Add leak-ignore for fopen_s(), test cases

* Format
2022-02-17 16:22:30 +01:00
chrchr-github a1adbff683
Fix #1733 FN Memory leak not detected when variable is 'used' by allocation function in condition (#3838) 2022-02-16 21:31:24 +01:00
orbitcowboy 59f07cd923 std.cfg: Added support for std::array::at() 2022-02-16 10:12:15 +01:00
orbitcowboy d36c4fc365 std.cfg: Added support for std::deque::at 2022-02-16 09:33:08 +01:00
Rikard Falkeborn 88b3d4dd93
windows.cfg: Fix configuration for _atoi_l and _wtoi_l (#3829)
It's probably copy-pasta, _atol_l and _wtol_l are configured below.
2022-02-14 06:51:59 +01:00
orbitcowboy 8a455c2921 wxwidgets.cfg: Replaced C-Style cast fof 'wxDL_INIT_FUNC' with static_cast. 2022-02-11 15:00:18 +01:00
orbitcowboy 09da69b1c7 posix.cfg: Added support for 'llseek()', which is obsolescent since glibc version 2.28 2022-02-09 08:34:35 +01:00
chrchr-github 966dbb1990
Windows.cfg: add UNREFERENCED_PARAMETER() macro (#3809) 2022-02-08 11:50:28 +01:00
orbitcowboy d3a2a6d245 std.cfg: Removed duplicate configuration of std::swap(). 2022-02-07 14:33:52 +01:00
orbitcowboy c983151b9c posix.cfg: Added support for lseek64(). 2022-02-07 14:15:48 +01:00
orbitcowboy bd1d8ea7b8 posix.cfg: Improved configuration of lseek(). 2022-02-07 13:58:38 +01:00
orbitcowboy 2dea968ec5 windows.cfg: Improved configuration of _fseeki64() 2022-02-07 09:12:31 +01:00
orbitcowboy a7b7b46d76 posix.cfg: Improved configuration of fseeko()/fseeko64(). 2022-02-07 09:03:39 +01:00
orbitcowboy 2f17147900 std.cfg: Improved configuration for fseek(). The 3rd argument is not allowed to be of Boolean type. 2022-02-07 09:02:24 +01:00
orbitcowboy fa776051e9 Fixed Ticket 1001 - std.cfg: Invalid parameters for fseek() 2022-02-06 16:05:14 +01:00
orbitcowboy 7062b0a973 std.cfg: Improved configuration of std::[w]string::substr(). Do not allow negative length arguments. 2022-02-04 12:30:37 +01:00
orbitcowboy 1798b73808 cppcheck-cfg.rng: Increased number of allowed function arguments from 20 to 40. Have seen this number of arguments in generated code. 2022-02-03 15:35:09 +01:00
orbitcowboy 76b6203e0d cppcheck-cfg.rng: Allow return values to be started with '::'. 2022-02-03 15:24:30 +01:00
orbitcowboy 0cec93cab7 cppcheck-cfg.rng: Updated pattern that 'char const * const *' is accepted as return type as well. 2022-02-03 14:48:57 +01:00
orbitcowboy 81a25c0036 std.cfg: Added support for std::binary_search 2022-01-25 13:07:49 +01:00
orbitcowboy 87b7243a9f windows.cfg: Added support for _stricmp-functions 2022-01-25 08:28:27 +01:00
orbitcowboy 19f605c7e5 wxwidgets.cfg: Fixed wrong default argument 2022-01-19 16:42:22 +01:00
chrchr-github 95dc05b21d
Fix #7732 false negative: (style) Unused variable: std::pair (#3695) 2022-01-13 08:05:05 +01:00
Maurice Gilden 44b182c9a7
Improve definitions for googletest ASSERT_* macros (#3694)
This avoids assertWithSideEffect and follows more closely what the real macros
are doing, similar to the ones in boost.cfg and cppunit.cfg.
2022-01-12 22:09:17 +01:00
chrchr-github e4c8798974
Fix #10556 FP containerOutOfBounds with QList [inconclusive] (#3688) 2022-01-12 22:03:57 +01:00
chrchr-github 1670805a8d
Fix #10490 FP unreadVariable with std::shared_lock (#3672) 2022-01-10 07:43:02 +01:00
orbitcowboy 7bcedc20ab wxwidgets.cfg: Cleanup wrong arg config 2021-12-16 11:27:07 +01:00
orbitcowboy f845c9da79 wxwidgets.cfg: Added support for more interfaces 2021-12-16 11:20:33 +01:00
Maurice Gilden d1b3670017
Improve definitions for boost test macros (#3625)
Using assert in macros causes assertWithSideEffect in some cases, which is not
a valid issue for these macros.
Macros for test case/suite were causing unusedStructMember warnings because
the test function could not be parsed correctly. The new defines don't match
completely what the macros really do, but it seems to be a good enough
approximation.
2021-12-15 20:51:29 +01:00
orbitcowboy 48ab3f762b wxwidgets.cfg: Added support for more interfaces 2021-12-15 13:39:14 +01:00
orbitcowboy a84bce2266 wxwidgets.cfg: Added support for more interfaces 2021-12-15 13:29:23 +01:00
orbitcowboy 1dff1af199 wxwidgets.cfg: Added support for 'wxTextEntry::GetRange' 2021-12-15 13:12:36 +01:00
orbitcowboy 04f18a8251 wxwidgets.cfg: Added support for more interfaces 2021-12-15 13:07:40 +01:00
orbitcowboy 3ffc941783 wxwidgets.cfg: Added support for 'wxTextCtrl::GetStyle' 2021-12-15 13:02:17 +01:00
Daniel Marjamäki 77434d093e SymbolDatabase: Do not set wrong type for std::map etc items in range for loop 2021-12-11 15:16:54 +01:00
orbitcowboy 9ddc7f2d71 windows.cfg: Added support for _dupenv_s() and _wdupenv_s() 2021-12-04 16:32:22 +01:00
orbitcowboy 19006ab775 std.cfg: Added support for string::shrink_to_fit() 2021-12-03 14:36:30 +01:00
Daniel Marjamäki c39446ff77 bsd.cfg: configure err functions 2021-11-04 16:49:40 +01:00
orbitcowboy 218befd355 wxwidgets.cfg: Added support for more interfaces 2021-10-17 16:02:46 +02:00
orbitcowboy 4576691f64 wxwidgets.cfg: Added support for more interfaces 2021-10-17 15:55:38 +02:00
orbitcowboy d62242da27 windows.cfg: Added support for lstrcpyW() and lstrcpyA(). 2021-10-07 16:48:57 +02:00
orbitcowboy bd2c9c6133 wxwidgets.cfg: Added support for more interfaces 2021-10-07 09:20:36 +02:00
orbitcowboy d9b610013e wxwidgets.cfg: Added support for more interfaces 2021-10-07 09:05:53 +02:00
orbitcowboy 231cb4ccfe wxwidgets.cfg: Added support for more interfaces 2021-10-07 08:26:32 +02:00
chrchr-github c073123343
Add some macros to boost.cfg (#3487) 2021-10-06 16:25:55 +02:00
orbitcowboy e3e0b380e2 wxwdigets.cfg: Added support for more interfaces. 2021-10-06 10:33:04 +02:00
orbitcowboy a6515550d6 wxwdigets.cfg: Added support for more interfaces. 2021-10-06 10:22:08 +02:00
orbitcowboy f4e0b2a10f wxwdigets.cfg: Added support for more interfaces. 2021-10-06 10:11:49 +02:00
orbitcowboy 80a0ef5d7e wxwdigets.cfg: Added support for more interfaces. 2021-10-06 09:17:02 +02:00
orbitcowboy 1f8adbafcf wxwidgets.cfg: Added support for more interfaces 2021-10-05 19:22:48 +02:00
orbitcowboy a2ea8654b0 wxwidgets.cfg: Added support for more interfaces 2021-10-05 17:08:03 +02:00
Paul Fultz II 8668d445c7
Add support for string_view (#3480) 2021-10-05 08:28:19 +02:00
orbitcowboy 7c58b07926 windows.cfg: Added support for '_access_s' ref.: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/access-s-waccess-s?view=msvc-160 2021-09-29 12:56:36 +02:00