bsd.cfg: Added support for pwritev(), preadv(), writev() and writev().
This commit is contained in:
parent
b315e8a115
commit
051512dd48
86
cfg/bsd.cfg
86
cfg/bsd.cfg
|
@ -218,6 +218,92 @@
|
|||
<valid>0:</valid>
|
||||
</arg>
|
||||
</function>
|
||||
<!-- https://linux.die.net/man/2/writev -->
|
||||
<!-- ssize_t readv(int fd, const struct iovec *iov, int iovcnt); -->
|
||||
<function name="readv">
|
||||
<leak-ignore/>
|
||||
<returnValue type="ssize_t"/>
|
||||
<arg nr="1" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
<arg nr="2" direction="out">
|
||||
<not-null/>
|
||||
</arg>
|
||||
<arg nr="3" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
</function>
|
||||
<!-- https://linux.die.net/man/2/writev -->
|
||||
<!-- ssize_t writev(int fd, const struct iovec *iov, int iovcnt); -->
|
||||
<function name="writev">
|
||||
<leak-ignore/>
|
||||
<returnValue type="ssize_t"/>
|
||||
<arg nr="1" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
<arg nr="2" direction="in">
|
||||
<not-null/>
|
||||
</arg>
|
||||
<arg nr="3" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
</function>
|
||||
<!-- https://linux.die.net/man/2/writev -->
|
||||
<!-- ssize_t preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset); -->
|
||||
<function name="preadv">
|
||||
<leak-ignore/>
|
||||
<returnValue type="ssize_t"/>
|
||||
<arg nr="1" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
<arg nr="2" direction="out">
|
||||
<not-null/>
|
||||
</arg>
|
||||
<arg nr="3" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
<arg nr="4" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
</function>
|
||||
<!-- https://linux.die.net/man/2/writev -->
|
||||
<!-- ssize_t pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset); -->
|
||||
<function name="pwritev">
|
||||
<leak-ignore/>
|
||||
<returnValue type="ssize_t"/>
|
||||
<arg nr="1" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
<arg nr="2" direction="in">
|
||||
<not-null/>
|
||||
</arg>
|
||||
<arg nr="3" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
<arg nr="4" direction="in">
|
||||
<not-uninit/>
|
||||
<not-bool/>
|
||||
<valid>0:</valid>
|
||||
</arg>
|
||||
</function>
|
||||
<!-- https://www.freebsd.org/cgi/man.cgi?query=arc4random -->
|
||||
<!-- uint32_t arc4random(void); -->
|
||||
<function name="arc4random">
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/uio.h>
|
||||
|
||||
// #9323, #9331
|
||||
void verify_timercmp(struct timeval t)
|
||||
|
@ -22,6 +23,34 @@ void verify_timercmp(struct timeval t)
|
|||
(void)timercmp(&t, &t, >);
|
||||
}
|
||||
|
||||
ssize_t nullPointer_readv(int fd, const struct iovec *iov, int iovcnt)
|
||||
{
|
||||
// cppcheck-suppress nullPointer
|
||||
(void)readv(fd,NULL,iovcnt);
|
||||
return readv(fd,iov,iovcnt);
|
||||
}
|
||||
|
||||
ssize_t nullPointer_writev(int fd, const struct iovec *iov, int iovcnt)
|
||||
{
|
||||
// cppcheck-suppress nullPointer
|
||||
(void)writev(fd,NULL,iovcnt);
|
||||
return writev(fd,iov,iovcnt);
|
||||
}
|
||||
|
||||
ssize_t nullPointer_preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset)
|
||||
{
|
||||
// cppcheck-suppress nullPointer
|
||||
(void)preadv(fd,NULL,iovcnt,offset);
|
||||
return preadv(fd,iov,iovcnt,offset);
|
||||
}
|
||||
|
||||
ssize_t nullPointer_pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset)
|
||||
{
|
||||
// cppcheck-suppress nullPointer
|
||||
(void)pwritev(fd,NULL,iovcnt,offset);
|
||||
return pwritev(fd,iov,iovcnt,offset);
|
||||
}
|
||||
|
||||
// False negative: #9346
|
||||
void uninitvar_timercmp(struct timeval t)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue