std.cfg: Moved strdup() from posix.cfg to std.cfg since its now part of C23.
This commit is contained in:
parent
d4bd232264
commit
6796f9daa2
|
@ -1187,17 +1187,6 @@ The obsolescent function 'usleep' is called. POSIX.1-2001 declares usleep() func
|
||||||
<not-bool/>
|
<not-bool/>
|
||||||
</arg>
|
</arg>
|
||||||
</function>
|
</function>
|
||||||
<!-- char *strdup(const char *s); -->
|
|
||||||
<function name="strdup">
|
|
||||||
<noreturn>false</noreturn>
|
|
||||||
<returnValue type="char *"/>
|
|
||||||
<use-retval/>
|
|
||||||
<arg nr="1">
|
|
||||||
<not-null/>
|
|
||||||
<not-uninit/>
|
|
||||||
<not-bool/>
|
|
||||||
</arg>
|
|
||||||
</function>
|
|
||||||
<!-- char *strndup(const char *s, size_t n); -->
|
<!-- char *strndup(const char *s, size_t n); -->
|
||||||
<function name="strndup">
|
<function name="strndup">
|
||||||
<noreturn>false</noreturn>
|
<noreturn>false</noreturn>
|
||||||
|
@ -5724,7 +5713,6 @@ The function 'mktemp' is considered to be dangerous due to race conditions and s
|
||||||
<dealloc>free</dealloc>
|
<dealloc>free</dealloc>
|
||||||
</memory>
|
</memory>
|
||||||
<memory>
|
<memory>
|
||||||
<alloc init="true" buffer-size="strdup">strdup</alloc>
|
|
||||||
<alloc init="true">strndup</alloc>
|
<alloc init="true">strndup</alloc>
|
||||||
<alloc init="true">wcsdup</alloc>
|
<alloc init="true">wcsdup</alloc>
|
||||||
<dealloc>free</dealloc>
|
<dealloc>free</dealloc>
|
||||||
|
|
15
cfg/std.cfg
15
cfg/std.cfg
|
@ -7976,6 +7976,17 @@ initializer list (7) string& replace (const_iterator i1, const_iterator i2, init
|
||||||
<not-bool/>
|
<not-bool/>
|
||||||
</arg>
|
</arg>
|
||||||
</function>
|
</function>
|
||||||
|
<!-- char *strdup(const char *s); -->
|
||||||
|
<function name="strdup">
|
||||||
|
<noreturn>false</noreturn>
|
||||||
|
<returnValue type="char *"/>
|
||||||
|
<use-retval/>
|
||||||
|
<arg nr="1">
|
||||||
|
<not-null/>
|
||||||
|
<not-uninit/>
|
||||||
|
<not-bool/>
|
||||||
|
</arg>
|
||||||
|
</function>
|
||||||
<!-- int mtx_init( mtx_t* mutex, int type ); // since C11 -->
|
<!-- int mtx_init( mtx_t* mutex, int type ); // since C11 -->
|
||||||
<function name="mtx_init">
|
<function name="mtx_init">
|
||||||
<noreturn>false</noreturn>
|
<noreturn>false</noreturn>
|
||||||
|
@ -8185,6 +8196,10 @@ initializer list (7) string& replace (const_iterator i1, const_iterator i2, init
|
||||||
<realloc init="false" buffer-size="calloc:2,3">reallocarray</realloc>
|
<realloc init="false" buffer-size="calloc:2,3">reallocarray</realloc>
|
||||||
<dealloc>free</dealloc>
|
<dealloc>free</dealloc>
|
||||||
</memory>
|
</memory>
|
||||||
|
<memory>
|
||||||
|
<alloc init="true" buffer-size="strdup">strdup</alloc>
|
||||||
|
<dealloc>free</dealloc>
|
||||||
|
</memory>
|
||||||
<resource>
|
<resource>
|
||||||
<alloc init="true">fopen</alloc>
|
<alloc init="true">fopen</alloc>
|
||||||
<alloc init="true">tmpfile</alloc>
|
<alloc init="true">tmpfile</alloc>
|
||||||
|
|
|
@ -2891,6 +2891,14 @@ void uninitvar_vprintf(char *Format, va_list Arg)
|
||||||
(void)vprintf(Format,arg2);
|
(void)vprintf(Format,arg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void memleak_strdup (char *s) // #9328
|
||||||
|
{
|
||||||
|
char *s1 = strdup(s);
|
||||||
|
printf("%s",s1);
|
||||||
|
free(s); // s1 is not freed
|
||||||
|
// cppcheck-suppress memleak
|
||||||
|
}
|
||||||
|
|
||||||
void uninitvar_vwprintf(wchar_t *Format, va_list Arg)
|
void uninitvar_vwprintf(wchar_t *Format, va_list Arg)
|
||||||
{
|
{
|
||||||
wchar_t * format1, * format2;
|
wchar_t * format1, * format2;
|
||||||
|
|
Loading…
Reference in New Issue