Add attributes to malloc-like functions

These attributes help static analysis tools to produce less false
positives, e.g. double free warnings.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
This commit is contained in:
Sebastian Huber 2018-09-28 11:12:48 +02:00
parent b6ba19e355
commit 201bbec6e4
4 changed files with 7 additions and 6 deletions

View File

@ -186,7 +186,7 @@ char * cuserid (char *);
FILE * tmpfile (void);
char * tmpnam (char *);
#if __BSD_VISIBLE || __XSI_VISIBLE || __POSIX_VISIBLE >= 200112
char * tempnam (const char *, const char *);
char * tempnam (const char *, const char *) __malloc_like __result_use_check;
#endif
int fclose (FILE *);
int fflush (FILE *);

View File

@ -282,7 +282,8 @@ int _unsetenv_r (struct _reent *, const char *__string);
#endif /* !__CYGWIN__ */
#if __POSIX_VISIBLE >= 200112
int __nonnull ((1)) posix_memalign (void **, size_t, size_t);
int posix_memalign (void **, size_t, size_t) __malloc_like __nonnull((1))
__alloc_align(2) __alloc_size(3) __result_use_check;
#endif
char * _dtoa_r (struct _reent *, double, int, int, int *, int*, char**);
@ -326,7 +327,7 @@ extern long double strtold (const char *__restrict, char **__restrict);
*/
#if __ISO_C_VISIBLE >= 2011
void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)
__alloc_size(2);
__alloc_size(2) __result_use_check;
int at_quick_exit(void (*)(void));
_Noreturn void
quick_exit(int);

View File

@ -81,11 +81,11 @@ char *strcasestr (const char *, const char *);
char *strchrnul (const char *, int);
#endif
#if __MISC_VISIBLE || __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE >= 4
char *strdup (const char *);
char *strdup (const char *) __malloc_like __result_use_check;
#endif
char *_strdup_r (struct _reent *, const char *);
#if __POSIX_VISIBLE >= 200809
char *strndup (const char *, size_t);
char *strndup (const char *, size_t) __malloc_like __result_use_check;
#endif
char *_strndup_r (struct _reent *, const char *, size_t);

View File

@ -126,7 +126,7 @@ wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict);
#if __POSIX_VISIBLE >= 200809
wchar_t *wcpcpy (wchar_t *__restrict,
const wchar_t *__restrict);
wchar_t *wcsdup (const wchar_t *);
wchar_t *wcsdup (const wchar_t *) __malloc_like __result_use_check;
#endif
wchar_t *_wcsdup_r (struct _reent *, const wchar_t * );
size_t wcscspn (const wchar_t *, const wchar_t *);