cppcheck/cfg/posix.cfg

2612 lines
66 KiB
INI

<?xml version="1.0"?>
<def format="2">
<!-- http://man7.org/linux/man-pages/man3/a64l.3.html -->
<!-- long a64l(const char *str64); -->
<function name="a64l">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- http://man7.org/linux/man-pages/man3/a64l.3.html -->
<!-- char *l64a(long value); -->
<function name="l64a">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
<!-- The behavior of l64a() is undefined when value is negative. -->
<!-- If value is zero, it returns an empty string. -->
<valid>0:</valid>
</arg>
</function>
<!-- http://man7.org/linux/man-pages/man2/accept.2.html -->
<!-- int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); -->
<function name="accept">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- struct group *getgrnam(const char *name); -->
<function name="getgrnam">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- struct group *getgrgid(gid_t gid);-->
<function name="getgrgid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int gettimeofday(struct timeval *tv, struct timezone *tz); -->
<function name="gettimeofday">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1"/>
<arg nr="2"/>
</function>
<!-- int settimeofday(const struct timeval *tv, const struct timezone *tz); -->
<function name="settimeofday">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- void FD_CLR(int fd, fd_set *set); -->
<function name="FD_CLR">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- int FD_ISSET(int fd, fd_set *set); -->
<function name="FD_ISSET">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- void FD_SET(int fd, fd_set *set); -->
<function name="FD_SET">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- void FD_ZERO(fd_set *set);-->
<function name="FD_ZERO">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
</function>
<!-- int truncate(const char *path, off_t length); -->
<function name="truncate">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int ftruncate(int fd, off_t length); -->
<function name="ftruncate">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int flock(int fd, int operation); -->
<function name="flock">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int symlink(const char *oldpath, const char *newpath); -->
<function name="symlink">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int open(const char *pathname, int flags) -->
<function name="open">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int creat(const char *pathname, mode_t mode); -->
<function name="creat">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int open(const char *pathname, int flags, mode_t mode); -->
<function name="open">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- unsigned int sleep(unsigned int seconds); -->
<function name="sleep">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
<not-bool/>
<valid>0:</valid>
</arg>
</function>
<!-- int usleep(useconds_t useconds); -->
<function name="usleep">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-bool/>
<valid>0:999999</valid>
</arg>
<warn severity="style">Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead.
The obsolescent function 'usleep' is called. POSIX.1-2001 declares usleep() function obsolescent and POSIX.1-2008 removes it. It is recommended that new applications use the 'nanosleep' or 'setitimer' function.</warn>
</function>
<!-- void _exit(int status); -->
<function name="_exit">
<noreturn>true</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- void _Exit(int status); -->
<function name="_Exit">
<noreturn>true</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- http://man7.org/linux/man-pages/man2/access.2.html -->
<!-- int access(const char *pathname, int mode); -->
<function name="access">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- http://man7.org/linux/man-pages/man2/access.2.html -->
<!-- int faccessat(int dirfd, const char *pathname, int mode, int flags); -->
<function name="faccessat">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<!-- http://man7.org/linux/man-pages/man2/acct.2.html -->
<!-- int acct(const char *filename); -->
<function name="acct">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- unsigned int alarm(unsigned int seconds); -->
<function name="alarm">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- struct rpcent *getrpcent(void); -->
<function name="getrpcent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'getrpcent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getrpcent_r'.</warn>
</function>
<!-- struct rpcent *getrpcbyname(char *name); -->
<function name="getrpcbyname">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getrpcbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getrpcbyname_r'.</warn>
</function>
<!-- truct rpcent *getrpcbynumber(int number); -->
<function name="getrpcbynumber">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getrpcbynumber' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getrpcbynumber_r'.</warn>
</function>
<!-- struct protoent *getprotoent(void); -->
<function name="getprotoent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'getprotoent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getprotoent_r'.</warn>
</function>
<!-- struct protoent *getprotobyname(const char *name); -->
<function name="getprotobyname">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getprotobyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getprotobyname_r'.</warn>
</function>
<!-- struct protoent *getprotobynumber(int proto); -->
<function name="getservbyport">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getprotobynumber' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getprotobynumber_r'.</warn>
</function>
<!-- struct servent *getservent(void); -->
<function name="getservent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'getservent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservent_r'.</warn>
</function>
<!-- struct servent *getservbyname(const char *name, const char *proto); -->
<function name="getservbyname">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getservbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservbyname_r'.</warn>
</function>
<!-- struct servent *getservbyport(int port, const char *proto); -->
<function name="getservbyport">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getservbyport' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getservbyport_r'.</warn>
</function>
<!-- struct netent *getnetent(void); -->
<function name="getnetent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'getnetent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getnetent_r'.</warn>
</function>
<!-- struct netent *getnetbyname(const char *name); -->
<function name="getnetbyname">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getnetbyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getnetbyname_r'.</warn>
</function>
<!-- struct netent *getnetbyaddr(uint32_t net, int type); -->
<function name="getnetbyaddr">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getnetbyaddr' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getnetbyaddr_r'.</warn>
</function>
<!-- struct hostent *gethostent(void); -->
<function name="gethostent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'gethostent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gethostent_r'.</warn>
</function>
<!-- struct hostent *gethostbyname(const char *name); -->
<function name="gethostbyname">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="getaddrinfo"/>
</function>
<!-- struct hostent *gethostbyname2(const char *name, int af); -->
<function name="gethostbyname2">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'gethostbyname2' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gethostbyname2_r'.</warn>
</function>
<!-- struct hostent *gethostbyaddr(const void *addr, socklen_t len, int type); -->
<function name="gethostbyaddr">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="getnameinfo"/>
</function>
<!-- int brk(void *addr); -->
<function name="brk">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
</function>
<!-- void *sbrk(intptr_t incr);-->
<function name="sbrk">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int closedir(DIR *dir); -->
<function name="closedir">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
<not-bool/>
</arg>
</function>
<function name="strdup">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="strndup">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<function name="wcsdup">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="mkstemp">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="mkdtemp">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="mktemp">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- char *getcwd(char *buf, size_t size); -->
<function name="getcwd">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int mkdir(const char *pathname, mode_t mode); -->
<function name="mkdir">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int rmdir(const char *pathname); -->
<function name="rmdir">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int chdir(const char *path); -->
<function name="chdir">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int chroot(const char *path); -->
<function name="chroot">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int link(const char *oldpath, const char *newpath); -->
<function name="link">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int unlink(const char *pathname); -->
<function name="unlink">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int rename(const char *oldpath, const char *newpath); -->
<function name="rename">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int stat(const char *file_name, struct stat *buf); -->
<function name="stat">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- int lstat(const char *file_name, struct stat *buf); -->
<function name="lstat">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- int fstat(const char *file_name, struct stat *buf); -->
<function name="fstat">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- int chmod(const char *path, mode_t mode); -->
<function name="chmod">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int chown(const char *path, uid_t owner, gid_t group); -->
<function name="chown">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int lchown(const char *path, uid_t owner, gid_t group); -->
<function name="lchown">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int fchown(int fildes, uid_t owner, gid_t group); -->
<function name="fchown">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int utime(const char *filename, struct utimbuf *buf); -->
<function name="utime">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="utimensat"/>
</function>
<!-- int utimes(const char *filename, const struct timeval times[2]); -->
<function name="utimes">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- DIR *opendir(const char *name); -->
<function name="opendir">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="fdopendir">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int isatty(int fildes); -->
<function name="isatty">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<function name="popen">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="pclose">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int socket(int domain, int type, int protocol); -->
<function name="socket">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int nice(int incr); -->
<function name="nice">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int pause(void); -->
<function name="pause">
<noreturn>false</noreturn>
<leak-ignore/>
</function>
<!-- int close(int fildes); -->
<function name="close">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- size_t confstr(int, char *, size_t); -->
<function name="confstr">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- long int fpathconf(int fildes, int name); -->
<function name="fpathconf">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- long int pathconf(const char *path, int name); -->
<function name="pathconf">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- long int sysconf(int name); -->
<function name="sysconf">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<function name="fdopen">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- struct dirent *readdir(DIR *dir); -->
<function name="readdir">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- void rewinddir(DIR *dir); -->
<function name="rewinddir">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- void seekdir(DIR *dirp, long loc); -->
<function name="seekdir">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<function name="rand_r">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="rand"/>
</function>
<function name="memmem">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-null/>
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<function name="memrchr">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
<not-bool/>
<valid>0:</valid>
</arg>
<arg nr="3">
<not-bool/>
<valid>0:</valid>
</arg>
</function>
<function name="rawmemchr">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
<not-bool/>
<valid>0:</valid>
</arg>
</function>
<function name="strcasecmp">
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="strncasecmp">
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-bool/>
<valid>0:</valid>
</arg>
</function>
<!-- ssize_t read(int fd, void *buf, size_t count); -->
<function name="read">
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<minsize type="argvalue" arg="3"/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- ssize_t write(int fildes, const void *buf, size_t nbyte); -->
<function name="write">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
<minsize type="argvalue" arg="3"/>
</arg>
<arg nr="3">
<not-uninit/>
<valid>0:</valid>
</arg>
</function>
<function name="recv">
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<minsize type="argvalue" arg="3"/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<function name="recvfrom">
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<minsize type="argvalue" arg="3"/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="5"/>
<arg nr="6"/>
</function>
<function name="send">
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<minsize type="argvalue" arg="3"/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<function name="sendto">
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<minsize type="argvalue" arg="3"/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="5"/>
<arg nr="6"/>
</function>
<!-- void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); -->
<function name="mmap">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="5">
<not-uninit/>
</arg>
<arg nr="6">
<not-uninit/>
</arg>
</function>
<!-- void *mmap64(void *addr, size_t length, int prot, int flags, int fd, off64_t offset); -->
<function name="mmap64">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="5">
<not-uninit/>
</arg>
<arg nr="6">
<not-uninit/>
</arg>
</function>
<!-- int munmap(void *addr, size_t length); -->
<function name="munmap">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- void openlog(const char *ident, int option, int facility); -->
<function name="openlog">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int fcntl(int fd, int cmd, ... /* arg */ ); -->
<function name="fcntl">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="any">
<not-uninit/>
</arg>
</function>
<!-- void syslog(int priority, const char *format, ...); -->
<function name="syslog">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<formatstr/>
<arg nr="2">
<formatstr/>
</arg>
<arg nr="any">
<not-uninit/>
</arg>
</function>
<!-- void vsyslog(int priority, const char *format, va_list ap); -->
<function name="vsyslog">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<formatstr/>
<arg nr="2">
<formatstr/>
</arg>
<arg nr="any">
<not-uninit/>
</arg>
</function>
<function name="getgid">
<use-retval/>
<noreturn>false</noreturn>
</function>
<function name="getegid">
<use-retval/>
<noreturn>false</noreturn>
</function>
<!-- uid_t getuid (void); -->
<function name="getuid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
</function>
<!-- pid_t getsid(pid_t pid); -->
<function name="getsid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- uid_t geteuid(void); -->
<function name="geteuid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
</function>
<!-- pid_t getppid(void); -->
<function name="getppid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
</function>
<!-- pid_t getpid(void); -->
<function name="getpid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
</function>
<!-- pid_t getpgrp(void); -->
<function name="getpgrp">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
</function>
<!-- ppid_t getpgid(pid_t pid); -->
<function name="getpgid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int setuid(uid_t uid); -->
<function name="setuid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int seteuid(uid_t euid); -->
<function name="seteuid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<function name="setgid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int setegid(gid_t egid); -->
<function name="setegid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int setpgid(pid_t pid, pid_t pgid); -->
<function name="setpgid">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int pipe(int fildes[2]); -->
<function name="pipe">
<noreturn>false</noreturn>
</function>
<!-- pid_t setpgrp(void); -->
<function name="setpgrp">
<noreturn>false</noreturn>
</function>
<!-- int setregid(gid_t rgid, gid_t egid); -->
<function name="setregid">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int setreuid(uid_t ruid, uid_t euid); -->
<function name="setreuid">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int setfsuid(uid_t fsuid); -->
<function name="setfsuid">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int setfsgid(uid_t fsgid); -->
<function name="setfsgid">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- pid_t setsid(void); -->
<function name="setsid">
<noreturn>false</noreturn>
<!-- it is a good idea to do: <use-retval/> -->
</function>
<!-- char *getwd(char *path_name);-->
<function name="getwd">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
</arg>
<leak-ignore/>
<warn severity="style" reason="Obsolescent" alternatives="getcwd"/>
</function>
<!-- http://pubs.opengroup.org/onlinepubs/009695399/basedefs/arpa/inet.h.html -->
<!-- uint32_t htonl(uint32_t); -->
<function name="htonl">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- uint16_t htons(uint16_t); -->
<function name="htons">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- uint32_t ntohl(uint32_t); -->
<function name="ntohl">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- uint16_t ntohs(uint16_t); -->
<function name="ntohs">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int mq_close(mqd_t); -->
<function name="mq_close">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int mq_getattr(mqd_t, struct mq_attr *); -->
<function name="mq_getattr">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2"/>
</function>
<!-- int mq_notify(mqd_t, const struct sigevent *); -->
<function name="mq_notify">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2"/>
</function>
<!-- mqd_t mq_open(const char *, int, ...); -->
<function name="mq_open">
<noreturn>false</noreturn>
</function>
<!-- ssize_t mq_receive(mqd_t, char *, size_t, unsigned *); -->
<function name="mq_receive">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="4"/>
</function>
<!-- int mq_send(mqd_t, const char *, size_t, unsigned); -->
<function name="mq_send">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="4"/>
</function>
<!-- int mq_setattr(mqd_t, const struct mq_attr *restrict,-->
<!-- struct mq_attr *restrict); -->
<function name="mq_setattr">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="3"/>
</function>
<!-- ssize_t mq_timedreceive(mqd_t, char *restrict, size_t,-->
<!-- unsigned *restrict, const struct timespec *restrict); -->
<function name="mq_timedreceive">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="5"/>
</function>
<!-- int mq_timedsend(mqd_t, const char *, size_t, unsigned,-->
<!-- const struct timespec *); -->
<function name="mq_timedsend">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="5"/>
</function>
<!-- int mq_unlink(const char *); -->
<function name="mq_unlink">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int dbm_clearerr(DBM *); -->
<function name="dbm_clearerr">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- void dbm_close(DBM *); -->
<function name="dbm_close">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int dbm_delete(DBM *, datum); -->
<function name="dbm_delete">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int dbm_error(DBM *); -->
<function name="dbm_error">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- datum dbm_fetch(DBM *, datum); -->
<function name="dbm_fetch">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- datum dbm_firstkey(DBM *); -->
<function name="dbm_firstkey">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- datum dbm_nextkey(DBM *); -->
<function name="dbm_nextkey">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- DBM *dbm_open(const char *, int, mode_t); -->
<function name="dbm_open">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int dbm_store(DBM *, datum, datum, int); -->
<function name="dbm_store">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<!-- void freeaddrinfo(struct addrinfo *ai); -->
<function name="freeaddrinfo">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
<not-null/>
<!-- not-null is not required by the resource above, but some systems will segfault -->
</arg>
</function>
<!-- int getaddrinfo(const char * nodename, const char * servname, const struct addrinfo * hints, struct addrinfo ** res); -->
<function name="getaddrinfo">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<!-- void endhostent(void); -->
<function name="endhostent">
<noreturn>false</noreturn>
</function>
<!-- struct hostent *gethostent(void); -->
<function name="gethostent">
<use-retval/>
<noreturn>false</noreturn>
</function>
<!-- void sethostent(int stayopen); -->
<function name="sethostent">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int uname(struct utsname *buf); -->
<function name="uname">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
</arg>
</function>
<!--void endpwent(void); -->
<function name="endpwent">
<noreturn>false</noreturn>
</function>
<!--struct passwd *getpwent(void); -->
<function name="getpwent">
<use-retval/>
<noreturn>false</noreturn>
<warn severity="portability">Non reentrant function 'getpwent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwent_r'.</warn>
</function>
<!--struct passwd *getpwnam(const char *); -->
<function name="getpwnam">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'.</warn>
</function>
<!-- char *strtok(char *s, const char *ct); -->
<function name="strtok,std::strtok">
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'strtok' called. For threadsafe applications it is recommended to use the reentrant replacement function 'strtok_r'.</warn>
</function>
<!-- char *strtok_r(char *str, const char *delim, char **saveptr); -->
<function name="strtok_r">
<!-- strtok may modify the first argument, so using the return value is not mandatory -->
<noreturn>false</noreturn>
<pure/>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-null/>
</arg>
</function>
<!--int getpwnam_r(const char *, struct passwd *, char *, size_t, struct passwd **); -->
<function name="getpwnam_r">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- struct passwd *getpwuid(uid_t uid); -->
<function name="getpwuid">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'.</warn>
</function>
<!-- int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); -->
<function name="getpwuid_r">
<noreturn>false</noreturn>
</function>
<!-- void setpwent(void); -->
<function name="setpwent">
<noreturn>false</noreturn>
</function>
<!-- int catclose(nl_catd); -->
<function name="catclose">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- char *catgets(nl_catd, int, int, const char *); -->
<function name="catgets">
<use-retval/>
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<!-- nl_catd catopen(const char *, int); -->
<function name="catopen">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html -->
<!-- int poll(struct pollfd [], nfds_t, int); -->
<function name="poll">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int regcomp(regex_t *, const char *, int); -->
<function name="regcomp">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- size_t regerror(int, const regex_t *, char *, size_t); -->
<function name="regerror">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<!-- int regexec(const regex_t *, const char *, size_t, regmatch_t [restrict], int); -->
<function name="regexec">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
<arg nr="5">
<not-uninit/>
</arg>
</function>
<!-- void regfree(regex_t *); -->
<function name="regfree">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int sched_get_priority_max(int); -->
<function name="sched_get_priority_max">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int sched_get_priority_min(int); -->
<function name="sched_get_priority_min">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int sched_getparam(pid_t, struct sched_param *); -->
<function name="sched_getparam">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- int sched_getscheduler(pid_t); -->
<function name="sched_getscheduler">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int sched_rr_get_interval(pid_t, struct timespec *); -->
<function name="sched_rr_get_interval">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- int sched_setparam(pid_t, const struct sched_param *); -->
<function name="sched_setparam">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int sched_setscheduler(pid_t, int, const struct sched_param *); -->
<function name="sched_setscheduler">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int sched_yield(void); -->
<function name="sched_yield">
<noreturn>false</noreturn>
</function>
<!-- char *ecvt(double value, int ndigit, int *restrict decpt, int *restrict sign);-->
<!-- LEGACY in POSIX.1-2001, removed in POSIX.1-2008-->
<function name="ecvt">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-null/>
</arg>
<arg nr="4">
<not-null/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="sprintf"/>
</function>
<!-- char *fcvt(double value, int ndigit, int *restrict decpt, int *restrict sign);-->
<!-- LEGACY in POSIX.1-2001, removed in POSIX.1-2008-->
<function name="fcvt">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-null/>
</arg>
<arg nr="4">
<not-null/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="sprintf"/>
</function>
<!-- char *gcvt(double value, int ndigit, char *buf);-->
<!-- LEGACY in POSIX.1-2001, removed in POSIX.1-2008-->
<function name="gcvt">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-null/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="sprintf"/>
</function>
<!-- off_t lseek(int fildes, off_t offset, int whence); -->
<function name="lseek">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); -->
<function name="nanosleep">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
<arg nr="2"/>
</function>
<!-- void setkey(const char *key); -->
<function name="setkey">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- char *getpass(const char *prompt); -->
<function name="getpass">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
</function>
<!-- http://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdlib.h.html -->
<!-- double drand48(void); -->
<function name="drand48">
<use-retval/>
<noreturn>false</noreturn>
</function>
<!-- int putenv(char *string); -->
<function name="putenv">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- int setenv(const char *envname, const char *envval, int overwrite); -->
<function name="setenv">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int unsetenv(const char *name); -->
<function name="unsetenv">
<noreturn>false</noreturn>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<!-- struct tm * localtime(const time_t *tp); -->
<function name="localtime,std::localtime">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'.</warn>
</function>
<!-- struct tm *localtime_r(const time_t *timep, struct tm *result); -->
<function name="localtime_r">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- struct dirent *readdir(DIR *dirp); -->
<function name="readdir">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'.</warn>
</function>
<!-- int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); -->
<function name="readdir_r">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<arg nr="3">
<not-null/>
</arg>
</function>
<!-- ssize_t readlink(const char *path, char *buf, size_t bufsiz); -->
<function name="readlink">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
</function>
<!-- int readlinkat(int dirfd, const char *pathname, char *buf, size_t bufsiz); -->
<function name="readlinkat">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-null/>
</arg>
<arg nr="4">
<not-uninit/>
</arg>
</function>
<!-- char *asctime_r(const struct tm *tm, char *buf); -->
<function name="asctime_r">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="strftime"/>
</function>
<!-- char *ctime_r(const time_t *timep, char *buf); -->
<function name="ctime_r">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="strftime"/>
</function>
<!-- struct tm *gmtime_r(const time_t *timep, struct tm *result); -->
<function name="gmtime_r">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- struct tm * gmtime(const time_t *tp); -->
<function name="gmtime">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'.</warn>
</function>
<!-- http://pubs.opengroup.org/onlinepubs/007908799/xsh/time.h.html -->
<!-- int clock_settime(clockid_t clock_id, const struct timespec *tp); -->
<function name="clock_settime">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int killpg(int pgrp, int sig); -->
<function name="killpg">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int kill(pid_t pid, int sig); -->
<function name="kill">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- int clock_gettime(clockid_t clock_id, struct timespec *tp); -->
<function name="clock_gettime">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
</function>
<!-- int clock_getres(clockid_t clock_id, struct timespec *res); -->
<function name="clock_getres">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2"/>
</function>
<!-- char* tmpnam(char *s); -->
<function name="tmpnam,tmpnam_r">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="tmpfile,mkstemp,mkdtemp"/>
</function>
<!-- void makecontext(ucontext_t *ucp, void (*func)(), int argc, ...); -->
<function name="makecontext">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<arg nr="any"/>
<warn severity="portability">Obsolescent function 'makecontext' called. Applications are recommended to be rewritten to use POSIX threads.</warn>
</function>
<!-- void swapcontext(ucontext_t *restrict oucp, const ucontext_t *restrict ucp); -->
<function name="swapcontext">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<warn severity="portability">Obsolescent function 'swapcontext' called. Applications are recommended to be rewritten to use POSIX threads.</warn>
</function>
<!-- void getcontext(ucontext_t *ucp); -->
<function name="getcontext">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
<warn severity="portability">Obsolescent function 'getcontext' called. Applications are recommended to be rewritten to use POSIX threads.</warn>
</function>
<!-- useconds_t ualarm(useconds_t useconds, useconds_t interval); -->
<function name="ualarm">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="timer_create,timer_delete,timer_getoverrun,timer_gettime,timer_settime"/>
</function>
<!-- double scalb(double x, double n); -->
<function name="scalb">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="scalbln,scalblnf,scalbln,scalbn,scalbnf,scalbnl"/>
</function>
<!-- void bcopy(const void *s1, void *s2, size_t n); -->
<function name="bcopy">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="memcpy,memmove"/>
</function>
<!-- int bcmp(const void *s1, void *s2, size_t n); -->
<function name="bcmp">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<arg nr="3">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="memcmp"/>
</function>
<!-- void bzero(void *s, size_t n); -->
<function name="bzero">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="memset"/>
</function>
<!-- int ftime(struct timeb *tp); -->
<function name="ftime">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="time,gettimeofday,clock_gettime"/>
</function>
<!-- wchar_t *wcswcs(const wchar_t *ws1, const wchar_t *ws2); -->
<function name="wcswcs">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="wcsstr"/>
</function>
<!-- char *index(const char *s, int c); -->
<function name="index">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="strchr"/>
</function>
<!-- char *rindex(const char *s, int c); -->
<function name="rindex">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="strrchr"/>
</function>
<!-- sighandler_t bsd_signal(int signum, sighandler_t handler); -->
<function name="bsd_signal">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="sigaction"/>
</function>
<!-- pid_t vfork(void); -->
<function name="vfork">
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="style" reason="Obsolescent" alternatives="fork"/>
</function>
<!-- int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr); -->
<function name="pthread_attr_setstackaddr">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="pthread_attr_setstack"/>
</function>
<!-- int pthread_attr_getstackaddr(const pthread_attr_t *attr, void **stackaddr); -->
<function name="pthread_attr_getstackaddr">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<warn severity="style" reason="Obsolescent" alternatives="pthread_attr_getstack"/>
</function>
<!-- char *tempnam(const char *dir, const char *pfx); -->
<function name="tempnam">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'tempnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'tempnam_r'.</warn>
</function>
<!-- char *crypt(const char *key, const char *salt); -->
<function name="crypt">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<arg nr="2">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'crypt' called. For threadsafe applications it is recommended to use the reentrant replacement function 'crypt_r'.</warn>
</function>
<!-- char *ttyname(int fd); -->
<function name="ttyname">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'ttyname' called. For threadsafe applications it is recommended to use the reentrant replacement function 'ttyname_r'.</warn>
</function>
<!-- struct spwd *getspnam(const char *name); -->
<function name="getspnam">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getspnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getspnam_r'.</warn>
</function>
<!-- struct spwd *getspent(void); -->
<function name="getspent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'getspent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getspent_r'.</warn>
</function>
<!-- struct spwd *fgetspent(FILE *fp); -->
<function name="fgetspent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'fgetspent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'fgetspent_r'.</warn>
</function>
<!-- struct spwd *sgetspent(const char *s); -->
<function name="sgetspent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'sgetspent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'sgetspent_r'.</warn>
</function>
<!-- struct passwd *fgetpwent(FILE *stream); -->
<function name="fgetpwent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'fgetpwent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'fgetpwent_r'.</warn>
</function>
<!-- struct group *getgrent(void); -->
<function name="getgrent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'getgrent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrent_r'.</warn>
</function>
<!-- struct group *fgetgrent(FILE *stream); -->
<function name="fgetgrent">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'fgetgrent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'fgetgrent_r'.</warn>
</function>
<!-- int getnetgrent(char **host, char **user, char **domain); -->
<function name="getnetgrent">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
</arg>
<arg nr="2">
<not-null/>
</arg>
<arg nr="3">
<not-null/>
</arg>
<warn severity="portability">Non reentrant function 'getnetgrent' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getnetgrent_r'.</warn>
</function>
<!-- struct group *getgrnam(const char *name); -->
<function name="getgrnam">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getgrnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrnam_r'.</warn>
</function>
<!-- struct group *getgrgid(gid_t gid); -->
<function name="getgrgid">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<warn severity="portability">Non reentrant function 'getgrgid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getgrgid_r'.</warn>
</function>
<!-- char *getlogin(void); -->
<function name="getlogin">
<use-retval/>
<noreturn>false</noreturn>
<leak-ignore/>
<warn severity="portability">Non reentrant function 'getlogin' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getlogin_r'.</warn>
</function>
<!-- char *ctermid(char *s); -->
<function name="ctermid">
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1"/>
<warn severity="portability">Non reentrant function 'ctermid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'ctermid_r'.</warn>
</function>
<memory>
<alloc init="true">strdup</alloc>
<alloc init="true">strndup</alloc>
<alloc init="true">wcsdup</alloc>
<dealloc>free</dealloc>
</memory>
<memory>
<alloc init="true">mmap</alloc>
<alloc init="true">mmap64</alloc>
<dealloc>munmap</dealloc>
</memory>
<resource>
<alloc init="true">open</alloc>
<alloc init="true">creat</alloc>
<alloc init="true">socket</alloc>
<dealloc>close</dealloc>
</resource>
<resource>
<alloc init="true">opendir</alloc>
<alloc init="true">fdopendir</alloc>
<dealloc>closedir</dealloc>
</resource>
<resource>
<alloc init="true">fdopen</alloc>
<dealloc>fclose</dealloc>
</resource>
<resource>
<alloc init="true">popen</alloc>
<dealloc>pclose</dealloc>
</resource>
<!-- This type definitions refer to http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html-->
<podtype name="in_port_t" sign="u" size="2"/>
<podtype name="in_addr_t" sign="u" size="4"/>
<podtype name="socklen_t" sign="u" size="4"/>
<podtype name="sa_family_t" sign="u" size="2"/>
<podtype name="nlink_t" sign="s"/>
<podtype name="mode_t" sign="s"/>
<podtype name="pid_t" sign="s"/>
<podtype name="uid_t" sign="s"/>
<podtype name="gid_t" sign="s"/>
<podtype name="id_t" sign="s"/>
<podtype name="blkcnt_t" sign="s"/>
<podtype name="off_t" sign="s"/>
<podtype name="fsblkcnt_t" sign="u"/>
<podtype name="fsfilcnt_t" sign="u"/>
<podtype name="ino_t" sign="u"/>
<podtype name="useconds_t" sign="u"/>
<podtype name="suseconds_t" sign="u"/>
<podtype name="blksize_t" sign="s"/>
<podtype name="ssize_t" sign="s"/>
<podtype name="dirent"/>
<podtype name="DIR"/>
<podtype name="clockid_t"/>
<podtype name="dev_t"/>
<podtype name="key_t"/>
<podtype name="tms"/>
<podtype name="utsname"/>
<podtype name="pthread_attr_t"/>
<podtype name="pthread_cond_t"/>
<podtype name="pthread_condattr_t"/>
<podtype name="pthread_key_t"/>
<podtype name="pthread_mutexattr_t"/>
<podtype name="pthread_mutex_t"/>
<podtype name="pthread_barrier_t"/>
<podtype name="pthread_barrierattr_t"/>
<podtype name="pthread_once_t"/>
<podtype name="pthread_rwlock_t"/>
<podtype name="pthread_rwlockattr_t"/>
<podtype name="pthread_spinlock_t"/>
<podtype name="pthread_t"/>
<podtype name="timer_t"/>
<podtype name="trace_attr_t"/>
<podtype name="trace_event_id_t"/>
<podtype name="trace_event_set_t"/>
<podtype name="trace_id_t"/>
<podtype name="stat"/>
<podtype name="jmp_buf"/>
<podtype name="sigjmp_buf"/>
<podtype name="sigset_t"/>
<podtype name="termios"/>
<podtype name="intptr_t"/>
<podtype name="timespec"/>
<podtype name="timeval"/>
<podtype name="timezone"/>
<podtype name="sigaction"/>
<podtype name="mq_attr"/>
<podtype name="mqd_t"/>
<podtype name="datum"/>
<podtype name="DBM"/>
<podtype name="addrinfo"/>
<podtype name="hostent"/>
<podtype name="netent"/>
<podtype name="protoent"/>
<podtype name="servent"/>
<podtype name="passwd"/>
<podtype name="nl_catd"/>
<podtype name="nl_item"/>
<podtype name="regex_t"/>
<podtype name="sched_param"/>
</def>