Commit Graph

2414 Commits

Author SHA1 Message Date
orbitcowboy c2e132b1a3 std.cfg: Improved configuration of asinh(). 2022-07-09 16:14:58 +02:00
Paul Fultz II 6b72274c67
Evaluate math library functions in valueflow (#4255)
* Evaluate math library functions in valueflow

* Format
2022-07-09 07:40:32 +02:00
Andy Holmes 41f6702cc8
gtk.cfg: add more type definition macros (#4247)
Add a number of missing macros from the configuration, including:

* `G_DEFINE_TYPE()`
* `G_DEFINE_FINAL_TYPE()`
* `G_DEFINE_FINAL_TYPE_WITH_PRIVATE()`
* `G_DEFINE_FINAL_TYPE_WITH_CODE()`
* `G_DEFINE_DYNAMIC_TYPE()`
* `G_DEFINE_DYNAMIC_TYPE_EXTENDED()`
* `G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC()`
* `G_DEFINE_AUTO_CLEANUP_FREE_FUNC()`
* `G_DEFINE_AUTOPTR_CLEANUP_FUNC()`
2022-07-06 16:48:50 +02:00
orbitcowboy b170a9c61e wxwidgets.cfg: Fixed wrong configuration of wxRegEx::GetMatch(). 2022-07-02 09:24:22 +02:00
chrchr-github 5b9fa9657d
Partial fix for #11137 FN: invalidFunctionArgStr printf argument (#4224)
* Partial fix for #11137 FN: invalidFunctionArgStr printf argument

* Typo

* Remove <strz>, suppressions

* Add suppresion, remove <strz>

* Add suppressions
2022-06-20 20:02:22 +02:00
orbitcowboy ee85de5ac3 posix.cfg: Improved configuration by adding some missing 'baseType'-attributes 2022-06-19 12:12:32 +02:00
PKEuS 9eb16e1002
Replaced check for pipe() buffer size by ordinary CheckBufferOverrun, provide required Library configuration option (#4183)
Merged from LCppC.
2022-06-19 12:01:55 +02:00
gerikintercede 676507fd72
Extra defines added to Windows and ATL (#4191) 2022-06-10 12:04:00 +02:00
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