Skip to content

Commit e293b66

Browse files
committed
gnu.cfg: Added support for getservent_r().
1 parent 3edb10a commit e293b66

2 files changed

Lines changed: 36 additions & 0 deletions

File tree

cfg/gnu.cfg

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -727,6 +727,30 @@
727727
<not-bool/>
728728
</arg>
729729
</function>
730+
<!-- https://man7.org/linux/man-pages/man3/getservent_r.3.html -->
731+
<!-- int getservent_r(struct servent *restrict result_buf, char *restrict buf, size_t buflen, struct servent **restrict result); -->
732+
<function name="getservent_r">
733+
<returnValue type="int"/>
734+
<noreturn>false</noreturn>
735+
<use-retval/>
736+
<pure/>
737+
<arg nr="1" direction="out">
738+
<not-null/>
739+
</arg>
740+
<arg nr="2" direction="in">
741+
<not-uninit/>
742+
<not-null/>
743+
<minsize type="argvalue" arg="3"/>
744+
</arg>
745+
<arg nr="3" direction="in">
746+
<not-uninit/>
747+
<valid>0:</valid>
748+
</arg>
749+
<arg nr="4" direction="in">
750+
<not-null/>
751+
<not-uninit/>
752+
</arg>
753+
</function>
730754
<!-- https://linux.die.net/man/3/ecvt_r -->
731755
<!-- int ecvt_r (double value, int ndigit, int *decpt, int *neg, char *buf, size_t len); -->
732756
<function name="ecvt_r">

test/cfg/gnu.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@
2323
#endif
2424
#include <strings.h>
2525

26+
27+
int nullPointer_getservent_r(struct servent *restrict result_buf, char *restrict buf, size_t buflen, struct servent **restrict result)
28+
{
29+
// cppcheck-suppress nullPointer
30+
(void) getservent_r(NULL, buf, buflen, result);
31+
// cppcheck-suppress nullPointer
32+
(void) getservent_r(result_buf, NULL, buflen, result);
33+
// cppcheck-suppress nullPointer
34+
(void) getservent_r(result_buf, buf, buflen, NULL);
35+
return getservent_r(result_buf, buf, buflen, result);
36+
}
37+
2638
void *bufferAccessOutOfBounds_memrchr(const void *s, int c, size_t n)
2739
{
2840
char buf[42]={0};

0 commit comments

Comments
 (0)