parent
bb54e455ce
commit
aed5e17867
58
cfg/bsd.cfg
58
cfg/bsd.cfg
|
@ -1,5 +1,63 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<def format="2">
|
<def format="2">
|
||||||
|
<!-- int timerisset(struct timeval *tvp); -->
|
||||||
|
<function name="timerisset">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<use-retval/>
|
||||||
|
<returnValue type="int"/>
|
||||||
|
<arg nr="1" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- void timerclear(struct timeval *tvp); -->
|
||||||
|
<function name="timerclear">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<returnValue type="void"/>
|
||||||
|
<arg nr="1" direction="inout">
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- void timeradd(struct timeval *a, struct timeval *b, struct timeval *res);-->
|
||||||
|
<!-- void timersub(struct timeval *a, struct timeval *b, struct timeval *res);-->
|
||||||
|
<function name="timeradd,timersub">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<returnValue type="void"/>
|
||||||
|
<arg nr="1" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="2" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="3" direction="out">
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- int timercmp(struct timeval *a, struct timeval *b, CMP)-->
|
||||||
|
<function name="timercmp">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<use-retval/>
|
||||||
|
<returnValue type="int"/>
|
||||||
|
<arg nr="1" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="2" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="3" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- int timercmp(struct timeval *a, struct timeval *b, CMP)-->
|
||||||
|
<define name="timercmp(a,b,CMP)" value="(((a)->tv_sec == (b)->tv_sec) ? ((a)->tv_usec CMP (b)->tv_usec) : ((a)->tv_sec CMP (b)->tv_sec))"/>
|
||||||
<!-- https://www.freebsd.org/cgi/man.cgi?query=fts&sektion=3 -->
|
<!-- https://www.freebsd.org/cgi/man.cgi?query=fts&sektion=3 -->
|
||||||
<!-- FTS * fts_open(char * const *path_argv, int options, int (*compar)(const FTSENT * const *, const FTSENT * const *)); -->
|
<!-- FTS * fts_open(char * const *path_argv, int options, int (*compar)(const FTSENT * const *, const FTSENT * const *)); -->
|
||||||
<function name="fts_open">
|
<function name="fts_open">
|
||||||
|
|
58
cfg/gnu.cfg
58
cfg/gnu.cfg
|
@ -89,6 +89,64 @@
|
||||||
<not-uninit/>
|
<not-uninit/>
|
||||||
</arg>
|
</arg>
|
||||||
</function>
|
</function>
|
||||||
|
<!-- int timerisset(struct timeval *tvp); -->
|
||||||
|
<function name="timerisset">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<use-retval/>
|
||||||
|
<returnValue type="int"/>
|
||||||
|
<arg nr="1" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- void timerclear(struct timeval *tvp); -->
|
||||||
|
<function name="timerclear">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<returnValue type="void"/>
|
||||||
|
<arg nr="1" direction="inout">
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- void timeradd(struct timeval *a, struct timeval *b, struct timeval *res);-->
|
||||||
|
<!-- void timersub(struct timeval *a, struct timeval *b, struct timeval *res);-->
|
||||||
|
<function name="timeradd,timersub">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<returnValue type="void"/>
|
||||||
|
<arg nr="1" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="2" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="3" direction="out">
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- int timercmp(struct timeval *a, struct timeval *b, CMP)-->
|
||||||
|
<function name="timercmp">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<leak-ignore/>
|
||||||
|
<use-retval/>
|
||||||
|
<returnValue type="int"/>
|
||||||
|
<arg nr="1" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="2" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
<not-null/>
|
||||||
|
</arg>
|
||||||
|
<arg nr="3" direction="in">
|
||||||
|
<not-uninit/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
|
<!-- int timercmp(struct timeval *a, struct timeval *b, CMP)-->
|
||||||
|
<define name="timercmp(a,b,CMP)" value="(((a)->tv_sec == (b)->tv_sec) ? ((a)->tv_usec CMP (b)->tv_usec) : ((a)->tv_sec CMP (b)->tv_sec))"/>
|
||||||
<!-- int __builtin_types_compatible_p (type1, type2) -->
|
<!-- int __builtin_types_compatible_p (type1, type2) -->
|
||||||
<function name="__builtin_types_compatible_p">
|
<function name="__builtin_types_compatible_p">
|
||||||
<noreturn>false</noreturn>
|
<noreturn>false</noreturn>
|
||||||
|
|
|
@ -726,64 +726,6 @@ The obsolescent function 'usleep' is called. POSIX.1-2001 declares usleep() func
|
||||||
<not-uninit/>
|
<not-uninit/>
|
||||||
</arg>
|
</arg>
|
||||||
</function>
|
</function>
|
||||||
<!-- int timerisset(struct timeval *tvp); -->
|
|
||||||
<function name="timerisset">
|
|
||||||
<noreturn>false</noreturn>
|
|
||||||
<leak-ignore/>
|
|
||||||
<use-retval/>
|
|
||||||
<returnValue type="int"/>
|
|
||||||
<arg nr="1" direction="in">
|
|
||||||
<not-uninit/>
|
|
||||||
<not-null/>
|
|
||||||
</arg>
|
|
||||||
</function>
|
|
||||||
<!-- void timerclear(struct timeval *tvp); -->
|
|
||||||
<function name="timerclear">
|
|
||||||
<noreturn>false</noreturn>
|
|
||||||
<leak-ignore/>
|
|
||||||
<returnValue type="void"/>
|
|
||||||
<arg nr="1" direction="inout">
|
|
||||||
<not-null/>
|
|
||||||
</arg>
|
|
||||||
</function>
|
|
||||||
<!-- void timeradd(struct timeval *a, struct timeval *b, struct timeval *res);-->
|
|
||||||
<!-- void timersub(struct timeval *a, struct timeval *b, struct timeval *res);-->
|
|
||||||
<function name="timeradd,timersub">
|
|
||||||
<noreturn>false</noreturn>
|
|
||||||
<leak-ignore/>
|
|
||||||
<returnValue type="void"/>
|
|
||||||
<arg nr="1" direction="in">
|
|
||||||
<not-uninit/>
|
|
||||||
<not-null/>
|
|
||||||
</arg>
|
|
||||||
<arg nr="2" direction="in">
|
|
||||||
<not-uninit/>
|
|
||||||
<not-null/>
|
|
||||||
</arg>
|
|
||||||
<arg nr="3" direction="out">
|
|
||||||
<not-null/>
|
|
||||||
</arg>
|
|
||||||
</function>
|
|
||||||
<!-- int timercmp(struct timeval *a, struct timeval *b, CMP)-->
|
|
||||||
<function name="timercmp">
|
|
||||||
<noreturn>false</noreturn>
|
|
||||||
<leak-ignore/>
|
|
||||||
<use-retval/>
|
|
||||||
<returnValue type="int"/>
|
|
||||||
<arg nr="1" direction="in">
|
|
||||||
<not-uninit/>
|
|
||||||
<not-null/>
|
|
||||||
</arg>
|
|
||||||
<arg nr="2" direction="in">
|
|
||||||
<not-uninit/>
|
|
||||||
<not-null/>
|
|
||||||
</arg>
|
|
||||||
<arg nr="3" direction="in">
|
|
||||||
<not-uninit/>
|
|
||||||
</arg>
|
|
||||||
</function>
|
|
||||||
<!-- int timercmp(struct timeval *a, struct timeval *b, CMP)-->
|
|
||||||
<define name="timercmp(a,b,CMP)" value="(((a)->tv_sec == (b)->tv_sec) ? ((a)->tv_usec CMP (b)->tv_usec) : ((a)->tv_sec CMP (b)->tv_sec))"/>
|
|
||||||
<!-- http://man7.org/linux/man-pages/man3/dirfd.3.html -->
|
<!-- http://man7.org/linux/man-pages/man3/dirfd.3.html -->
|
||||||
<!-- int dirfd(DIR *dirp); -->
|
<!-- int dirfd(DIR *dirp); -->
|
||||||
<function name="dirfd">
|
<function name="dirfd">
|
||||||
|
|
|
@ -9,6 +9,18 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
// #9323, #9331
|
||||||
|
void verify_timercmp(struct timeval t)
|
||||||
|
{
|
||||||
|
(void)timercmp(&t, &t, <);
|
||||||
|
(void)timercmp(&t, &t, <=);
|
||||||
|
(void)timercmp(&t, &t, ==);
|
||||||
|
(void)timercmp(&t, &t, !=);
|
||||||
|
(void)timercmp(&t, &t, >=);
|
||||||
|
(void)timercmp(&t, &t, >);
|
||||||
|
}
|
||||||
|
|
||||||
// size_t strlcat(char *dst, const char *src, size_t size);
|
// size_t strlcat(char *dst, const char *src, size_t size);
|
||||||
void uninitvar_strlcat(char *Ct, const char *S, size_t N)
|
void uninitvar_strlcat(char *Ct, const char *S, size_t N)
|
||||||
|
|
|
@ -11,10 +11,22 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <sys/time.h>
|
||||||
#ifndef __CYGWIN__
|
#ifndef __CYGWIN__
|
||||||
#include <sys/epoll.h>
|
#include <sys/epoll.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// #9323, #9331
|
||||||
|
void verify_timercmp(struct timeval t)
|
||||||
|
{
|
||||||
|
(void)timercmp(&t, &t, <);
|
||||||
|
(void)timercmp(&t, &t, <=);
|
||||||
|
(void)timercmp(&t, &t, ==);
|
||||||
|
(void)timercmp(&t, &t, !=);
|
||||||
|
(void)timercmp(&t, &t, >=);
|
||||||
|
(void)timercmp(&t, &t, >);
|
||||||
|
}
|
||||||
|
|
||||||
// Declaration necessary because there is no specific / portable header.
|
// Declaration necessary because there is no specific / portable header.
|
||||||
extern void *xcalloc(size_t nmemb, size_t size);
|
extern void *xcalloc(size_t nmemb, size_t size);
|
||||||
extern void *xmalloc(size_t size);
|
extern void *xmalloc(size_t size);
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/time.h>
|
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
// unavailable on some linux systems #include <ndbm.h>
|
// unavailable on some linux systems #include <ndbm.h>
|
||||||
|
@ -24,14 +23,6 @@
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
// #9323, #9331
|
|
||||||
void verify_timercmp(struct timeval t)
|
|
||||||
{
|
|
||||||
(void)timercmp(&t, &t, <);
|
|
||||||
(void)timercmp(&t, &t, >);
|
|
||||||
(void)timercmp(&t, &t, !=);
|
|
||||||
}
|
|
||||||
|
|
||||||
void memleak_scandir(void)
|
void memleak_scandir(void)
|
||||||
{
|
{
|
||||||
struct dirent **namelist;
|
struct dirent **namelist;
|
||||||
|
|
Loading…
Reference in New Issue