2015-01-11 10:12:39 +01:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<def format="1">
|
|
|
|
<memory>
|
|
|
|
<dealloc>free</dealloc>
|
|
|
|
<alloc init="true">get_current_dir_name</alloc>
|
|
|
|
</memory>
|
2015-07-14 09:07:47 +02:00
|
|
|
<!-- http://man7.org/linux/man-pages/man2/accept.2.html -->
|
|
|
|
<!-- int accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags); -->
|
|
|
|
<function name="accept">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-uninit/>
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="4">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
2015-05-11 08:53:54 +02:00
|
|
|
<!-- long long atoq(const char *nptr); -->
|
|
|
|
<function name="atoq">
|
|
|
|
<use-retval/>
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
2015-02-16 22:19:51 +01:00
|
|
|
<function name="strndupa">
|
|
|
|
<use-retval/>
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
|
|
|
<function name="strdupa">
|
|
|
|
<use-retval/>
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
2015-02-21 11:08:58 +01:00
|
|
|
<!-- http://www.gnu.org/software/libc/manual/html_node/Backtraces.html -->
|
|
|
|
<!-- int backtrace (void **buffer, int size) -->
|
|
|
|
<function name="backtrace">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
2015-10-23 09:46:39 +02:00
|
|
|
<minsize type="argvalue" arg="2"/>
|
2015-02-21 11:08:58 +01:00
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
|
|
|
<!-- char ** backtrace_symbols (void *const *buffer, int size) -->
|
|
|
|
<function name="backtrace_symbols">
|
|
|
|
<noreturn>false</noreturn>
|
2015-03-08 14:24:54 +01:00
|
|
|
<use-retval/>
|
2015-02-21 11:08:58 +01:00
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
<not-uninit/>
|
2015-10-23 09:46:39 +02:00
|
|
|
<minsize type="argvalue" arg="2"/>
|
2015-02-21 11:08:58 +01:00
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
|
|
|
<!-- void backtrace_symbols_fd (void *const *buffer, int size, int fd) -->
|
|
|
|
<function name="backtrace_symbols_fd">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
<not-uninit/>
|
2015-10-23 09:46:39 +02:00
|
|
|
<minsize type="argvalue" arg="2"/>
|
2015-02-21 11:08:58 +01:00
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
2015-03-01 20:18:26 +01:00
|
|
|
<!-- char *qecvt(long double value, int ndigit, int * decpt, int * sign); -->
|
|
|
|
<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>
|
|
|
|
</function>
|
|
|
|
<!-- char *qfcvt(double value, int ndigit, int * decpt, int * sign); -->
|
|
|
|
<function name="qfcvt">
|
|
|
|
<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>
|
|
|
|
</function>
|
|
|
|
<!-- char *qgcvt(long double value, int ndigit, char *buf); -->
|
|
|
|
<function name="qgcvt">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
|
|
|
<!-- int ecvt_r (double value, int ndigit, int *decpt, int *neg, char *buf, size_t len); -->
|
|
|
|
<function name="ecvt_r">
|
|
|
|
<noreturn>false</noreturn>
|
2015-03-08 14:24:54 +01:00
|
|
|
<pure/>
|
2015-03-01 20:18:26 +01:00
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="4">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="5">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="6"/>
|
|
|
|
</function>
|
|
|
|
<!-- int fcvt_r (double value, int ndigit, int *decpt, int *neg, char *buf, size_t len); -->
|
2015-03-05 06:48:44 +01:00
|
|
|
<function name="fcvt_r">
|
2015-03-01 20:18:26 +01:00
|
|
|
<noreturn>false</noreturn>
|
2015-03-08 14:24:54 +01:00
|
|
|
<pure/>
|
2015-03-01 20:18:26 +01:00
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="4">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="5">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="6"/>
|
|
|
|
</function>
|
|
|
|
<!-- int qecvt_r (long double value, int ndigit, int *decpt, int *neg, char *buf, size_t len); -->
|
|
|
|
<function name="qecvt_r">
|
|
|
|
<noreturn>false</noreturn>
|
2015-03-08 14:24:54 +01:00
|
|
|
<pure/>
|
2015-03-01 20:18:26 +01:00
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="4">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="5">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="6"/>
|
|
|
|
</function>
|
|
|
|
<!-- int qfcvt_r (long double value, int ndigit, int *decpt, int *neg, char *buf, size_t len); -->
|
|
|
|
<function name="qfcvt_r">
|
|
|
|
<noreturn>false</noreturn>
|
2015-03-08 14:24:54 +01:00
|
|
|
<pure/>
|
2015-03-01 20:18:26 +01:00
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="4">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="5">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="6"/>
|
|
|
|
</function>
|
2015-03-08 14:04:09 +01:00
|
|
|
<!-- https://www.gnu.org/software/gnulib/manual/html_node/c_002dstrcasestr.html -->
|
|
|
|
<!-- size_t strcasestr(const char *s1, const char *s2); -->
|
|
|
|
<function name="strcasestr">
|
|
|
|
<use-retval/>
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<leak-ignore/>
|
2015-03-08 14:24:54 +01:00
|
|
|
<pure/>
|
2015-03-08 14:04:09 +01:00
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-null/>
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
2015-07-14 09:07:47 +02:00
|
|
|
<!-- http://linux.die.net/man/2/getresuid -->
|
|
|
|
<!-- int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); -->
|
|
|
|
<function name="getresuid">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<leak-ignore/>
|
|
|
|
<pure/>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
|
|
|
<!-- http://linux.die.net/man/2/getresuid -->
|
|
|
|
<!-- int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); -->
|
|
|
|
<function name="getresgid">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<leak-ignore/>
|
|
|
|
<pure/>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
</function>
|
|
|
|
<!-- http://man7.org/linux/man-pages/man2/setresuid.2.html -->
|
|
|
|
<!-- int setresuid(uid_t ruid, uid_t euid, uid_t suid);-->
|
|
|
|
<function name="setresuid">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- http://man7.org/linux/man-pages/man2/setresuid.2.html -->
|
|
|
|
<!-- int setresgid(gid_t rgid, gid_t egid, gid_t sgid);-->
|
|
|
|
<function name="setresgid">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
2016-01-08 10:59:00 +01:00
|
|
|
<!-- int inet_aton (const char *name, struct in_addr *addr); -->
|
|
|
|
<function name="inet_aton">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- uint32_t inet_addr (const char *name); -->
|
|
|
|
<function name="inet_addr">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- uint32_t inet_network (const char *name); -->
|
|
|
|
<function name="inet_network">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- char * inet_ntoa (struct in_addr addr); -->
|
|
|
|
<function name="inet_ntoa">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- struct in_addr inet_makeaddr (uint32_t net, uint32_t local); -->
|
|
|
|
<function name="inet_makeaddr">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- uint32_t inet_lnaof (struct in_addr addr); -->
|
|
|
|
<function name="inet_lnaof">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- uint32_t inet_netof (struct in_addr addr); -->
|
|
|
|
<function name="inet_netof">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- int inet_pton (int af, const char *cp, void *buf); -->
|
|
|
|
<function name="inet_pton">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
|
|
|
<!-- const char * inet_ntop (int af, const void *cp, char *buf, socklen_t len);-->
|
|
|
|
<function name="inet_ntop">
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="2">
|
|
|
|
<not-uninit/>
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="3">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
|
|
|
<arg nr="4">
|
|
|
|
<not-uninit/>
|
|
|
|
</arg>
|
|
|
|
<leak-ignore/>
|
|
|
|
</function>
|
2016-01-11 15:00:36 +01:00
|
|
|
<!-- char *canonicalize_file_name(const char *path); -->
|
|
|
|
<function name="canonicalize_file_name">
|
|
|
|
<use-retval/>
|
|
|
|
<noreturn>false</noreturn>
|
|
|
|
<leak-ignore/>
|
|
|
|
<arg nr="1">
|
|
|
|
<not-null/>
|
|
|
|
</arg>
|
2016-01-11 15:22:40 +01:00
|
|
|
</function>
|
2016-01-13 11:57:21 +01:00
|
|
|
<!-- int execvpe(const char *file, char *const argv[], char *const envp[]); -->
|
|
|
|
<function name="execvpe">
|
|
|
|
<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>
|
2015-08-10 20:21:30 +02:00
|
|
|
<!-- see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html -->
|
|
|
|
<define name="__builtin_expect(X,Y)" value="(X)"/>
|
|
|
|
<!-- see http://kernelnewbies.org/FAQ/LikelyUnlikely -->
|
2015-08-08 12:49:42 +02:00
|
|
|
<define name="likely(X)" value="(X)"/>
|
|
|
|
<define name="unlikely(X)" value="(X)"/>
|
2015-01-11 10:12:39 +01:00
|
|
|
</def>
|