gnu.cfg: Added support for '__builtin_memset'.
This commit is contained in:
parent
adbbadec7f
commit
b998dcb5aa
18
cfg/gnu.cfg
18
cfg/gnu.cfg
|
@ -24,6 +24,24 @@
|
||||||
</arg>
|
</arg>
|
||||||
<leak-ignore/>
|
<leak-ignore/>
|
||||||
</function>
|
</function>
|
||||||
|
<!-- void *__builtin_memset(void *s, int c, size_t n); -->
|
||||||
|
<function name="__builtin_memset">
|
||||||
|
<returnValue type="void *"/>
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<arg nr="1">
|
||||||
|
<not-null/>
|
||||||
|
<minsize type="argvalue" arg="3"/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="2">
|
||||||
|
<not-uninit/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="3">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-bool/>
|
||||||
|
<valid>0:</valid>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
<!-- long long atoq(const char *nptr); -->
|
<!-- long long atoq(const char *nptr); -->
|
||||||
<function name="atoq">
|
<function name="atoq">
|
||||||
<returnValue type="long long"/>
|
<returnValue type="long long"/>
|
||||||
|
|
|
@ -8,10 +8,34 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#ifndef __CYGWIN__
|
#ifndef __CYGWIN__
|
||||||
#include <sys/epoll.h>
|
#include <sys/epoll.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void ignoreleak(void)
|
||||||
|
{
|
||||||
|
char *p = (char *)malloc(10);
|
||||||
|
__builtin_memset(&(p[0]), 0, 10);
|
||||||
|
// cppcheck-suppress memleak
|
||||||
|
}
|
||||||
|
|
||||||
|
void uninitvar__builtin_memset(void)
|
||||||
|
{
|
||||||
|
void *s;
|
||||||
|
int c;
|
||||||
|
size_t n;
|
||||||
|
// cppcheck-suppress uninitvar
|
||||||
|
(void)__builtin_memset(s,c,n);
|
||||||
|
}
|
||||||
|
|
||||||
|
void bufferAccessOutOfBounds__builtin_memset(void)
|
||||||
|
{
|
||||||
|
uint8_t buf[42];
|
||||||
|
// cppcheck-suppress bufferAccessOutOfBounds
|
||||||
|
(void)__builtin_memset(buf,0,1000);
|
||||||
|
}
|
||||||
|
|
||||||
void bufferAccessOutOfBounds()
|
void bufferAccessOutOfBounds()
|
||||||
{
|
{
|
||||||
char buf[2];
|
char buf[2];
|
||||||
|
|
Loading…
Reference in New Issue