4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-31 11:30:56 +08:00

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); FILE * tmpfile (void);
char * tmpnam (char *); char * tmpnam (char *);
#if __BSD_VISIBLE || __XSI_VISIBLE || __POSIX_VISIBLE >= 200112 #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 #endif
int fclose (FILE *); int fclose (FILE *);
int fflush (FILE *); int fflush (FILE *);

View File

@ -282,7 +282,8 @@ int _unsetenv_r (struct _reent *, const char *__string);
#endif /* !__CYGWIN__ */ #endif /* !__CYGWIN__ */
#if __POSIX_VISIBLE >= 200112 #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 #endif
char * _dtoa_r (struct _reent *, double, int, int, int *, int*, char**); 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 #if __ISO_C_VISIBLE >= 2011
void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1) 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)); int at_quick_exit(void (*)(void));
_Noreturn void _Noreturn void
quick_exit(int); quick_exit(int);

View File

@ -81,11 +81,11 @@ char *strcasestr (const char *, const char *);
char *strchrnul (const char *, int); char *strchrnul (const char *, int);
#endif #endif
#if __MISC_VISIBLE || __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE >= 4 #if __MISC_VISIBLE || __POSIX_VISIBLE >= 200809 || __XSI_VISIBLE >= 4
char *strdup (const char *); char *strdup (const char *) __malloc_like __result_use_check;
#endif #endif
char *_strdup_r (struct _reent *, const char *); char *_strdup_r (struct _reent *, const char *);
#if __POSIX_VISIBLE >= 200809 #if __POSIX_VISIBLE >= 200809
char *strndup (const char *, size_t); char *strndup (const char *, size_t) __malloc_like __result_use_check;
#endif #endif
char *_strndup_r (struct _reent *, const char *, size_t); 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 #if __POSIX_VISIBLE >= 200809
wchar_t *wcpcpy (wchar_t *__restrict, wchar_t *wcpcpy (wchar_t *__restrict,
const 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 #endif
wchar_t *_wcsdup_r (struct _reent *, const wchar_t * ); wchar_t *_wcsdup_r (struct _reent *, const wchar_t * );
size_t wcscspn (const wchar_t *, const wchar_t *); size_t wcscspn (const wchar_t *, const wchar_t *);