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]).
This commit is contained in:
parent
c24edc528e
commit
8382ea7692
|
@ -5020,6 +5020,7 @@ The obsolete function 'gets' is called. With 'gets' you'll get a buffer overrun
|
||||||
<arg nr="1" direction="in">
|
<arg nr="1" direction="in">
|
||||||
<not-null/>
|
<not-null/>
|
||||||
<not-uninit/>
|
<not-uninit/>
|
||||||
|
<strz/>
|
||||||
</arg>
|
</arg>
|
||||||
<arg nr="2" direction="in">
|
<arg nr="2" direction="in">
|
||||||
<not-null/>
|
<not-null/>
|
||||||
|
|
|
@ -29,6 +29,19 @@
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
|
||||||
|
char * invalidFunctionArgStr_strpbrk( const char *p )
|
||||||
|
{
|
||||||
|
const char search[] = { -42, -43, -44 };
|
||||||
|
const char pattern[3] = { -42, -43, -44 };
|
||||||
|
(void) strpbrk( "abc42", "42" );
|
||||||
|
// cppcheck-suppress invalidFunctionArgStr
|
||||||
|
(void) strpbrk( search, "42" );
|
||||||
|
// cppcheck-suppress invalidFunctionArgStr
|
||||||
|
(void) strpbrk( search, pattern );
|
||||||
|
// cppcheck-suppress invalidFunctionArgStr
|
||||||
|
return strpbrk( p, pattern );
|
||||||
|
}
|
||||||
|
|
||||||
int invalidFunctionArgStr_strncmp( const char *p )
|
int invalidFunctionArgStr_strncmp( const char *p )
|
||||||
{
|
{
|
||||||
// No warning is expected for:
|
// No warning is expected for:
|
||||||
|
|
Loading…
Reference in New Issue