diff options
Diffstat (limited to 'include/stdio.h')
| -rw-r--r-- | include/stdio.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/include/stdio.h b/include/stdio.h index 9d29e94..000a72d 100644 --- a/include/stdio.h +++ b/include/stdio.h | |||
| @@ -40,14 +40,12 @@ extern "C" { | |||
| 40 | #undef vsprintf | 40 | #undef vsprintf |
| 41 | 41 | ||
| 42 | __access(read_only, 2) | 42 | __access(read_only, 2) |
| 43 | __diagnose_as_builtin(__builtin_fdopen, 1, 2) | ||
| 44 | _FORTIFY_FN(fdopen) FILE *fdopen(int __f, const char* _FORTIFY_POS0 __m) | 43 | _FORTIFY_FN(fdopen) FILE *fdopen(int __f, const char* _FORTIFY_POS0 __m) |
| 45 | { | 44 | { |
| 46 | return __orig_fdopen(__f, __m); | 45 | return __orig_fdopen(__f, __m); |
| 47 | } | 46 | } |
| 48 | 47 | ||
| 49 | __access(write_only, 1, 2) | 48 | __access(write_only, 1, 2) |
| 50 | __diagnose_as_builtin(__builtin_fgets, 1, 2, 3) | ||
| 51 | _FORTIFY_FN(fgets) char *fgets(char * _FORTIFY_POS0 __s, int __n, FILE *__f) | 49 | _FORTIFY_FN(fgets) char *fgets(char * _FORTIFY_POS0 __s, int __n, FILE *__f) |
| 52 | { | 50 | { |
| 53 | size_t __b = __bos(__s, 0); | 51 | size_t __b = __bos(__s, 0); |
| @@ -58,7 +56,6 @@ _FORTIFY_FN(fgets) char *fgets(char * _FORTIFY_POS0 __s, int __n, FILE *__f) | |||
| 58 | } | 56 | } |
| 59 | 57 | ||
| 60 | __malloc(malloc (fclose, 1)) | 58 | __malloc(malloc (fclose, 1)) |
| 61 | __diagnose_as_builtin(__builtin_fmemopen, 1, 2, 3) | ||
| 62 | _FORTIFY_FN(fmemopen) FILE *fmemopen(void* _FORTIFY_POS0 __b, size_t __s, const char* _FORTIFY_POS0 __m) | 59 | _FORTIFY_FN(fmemopen) FILE *fmemopen(void* _FORTIFY_POS0 __b, size_t __s, const char* _FORTIFY_POS0 __m) |
| 63 | { | 60 | { |
| 64 | return __orig_fmemopen(__b, __s, __m); | 61 | return __orig_fmemopen(__b, __s, __m); |
| @@ -67,14 +64,12 @@ _FORTIFY_FN(fmemopen) FILE *fmemopen(void* _FORTIFY_POS0 __b, size_t __s, const | |||
| 67 | __access(read_only, 1) | 64 | __access(read_only, 1) |
| 68 | __access(read_only, 2) | 65 | __access(read_only, 2) |
| 69 | __malloc(malloc (fclose, 1)) | 66 | __malloc(malloc (fclose, 1)) |
| 70 | __diagnose_as_builtin(__builtin_fopen, 1, 2) | ||
| 71 | _FORTIFY_FN(fopen) FILE *fopen(const char* _FORTIFY_POS0 __p, const char* _FORTIFY_POS0 __m) | 67 | _FORTIFY_FN(fopen) FILE *fopen(const char* _FORTIFY_POS0 __p, const char* _FORTIFY_POS0 __m) |
| 72 | { | 68 | { |
| 73 | return __orig_fopen(__p, __m); | 69 | return __orig_fopen(__p, __m); |
| 74 | } | 70 | } |
| 75 | 71 | ||
| 76 | __access(write_only, 1) | 72 | __access(write_only, 1) |
| 77 | __diagnose_as_builtin(__builtin_fread, 1, 2, 3, 4) | ||
| 78 | _FORTIFY_FN(fread) size_t fread(void * _FORTIFY_POS0 __d, size_t __n, | 73 | _FORTIFY_FN(fread) size_t fread(void * _FORTIFY_POS0 __d, size_t __n, |
| 79 | size_t __m, FILE *__f) | 74 | size_t __m, FILE *__f) |
| 80 | { | 75 | { |
| @@ -88,7 +83,6 @@ _FORTIFY_FN(fread) size_t fread(void * _FORTIFY_POS0 __d, size_t __n, | |||
| 88 | } | 83 | } |
| 89 | 84 | ||
| 90 | __access(read_only, 1) | 85 | __access(read_only, 1) |
| 91 | __diagnose_as_builtin(__builtin_fwrite, 1, 2, 3, 4) | ||
| 92 | _FORTIFY_FN(fwrite) size_t fwrite(const void * _FORTIFY_POS0 __d, size_t __n, | 86 | _FORTIFY_FN(fwrite) size_t fwrite(const void * _FORTIFY_POS0 __d, size_t __n, |
| 93 | size_t __m, FILE *__f) | 87 | size_t __m, FILE *__f) |
| 94 | { | 88 | { |
| @@ -104,7 +98,6 @@ _FORTIFY_FN(fwrite) size_t fwrite(const void * _FORTIFY_POS0 __d, size_t __n, | |||
| 104 | __access(read_only, 1) | 98 | __access(read_only, 1) |
| 105 | __access(read_only, 2) | 99 | __access(read_only, 2) |
| 106 | __malloc(malloc (pclose, 1)) | 100 | __malloc(malloc (pclose, 1)) |
| 107 | __diagnose_as_builtin(__builtin_fwrite, 1, 2) | ||
| 108 | _FORTIFY_FN(popen) FILE *popen(const char* _FORTIFY_POS0 __c, const char* _FORTIFY_POS0 __t) | 101 | _FORTIFY_FN(popen) FILE *popen(const char* _FORTIFY_POS0 __c, const char* _FORTIFY_POS0 __t) |
| 109 | { | 102 | { |
| 110 | return __orig_popen(__c, __t); | 103 | return __orig_popen(__c, __t); |
| @@ -122,7 +115,9 @@ _FORTIFY_FN(tmpfile) FILE *tmpfile(void) | |||
| 122 | __access(read_write, 1, 2) | 115 | __access(read_write, 1, 2) |
| 123 | __access(read_only, 3) | 116 | __access(read_only, 3) |
| 124 | __format(printf, 3, 0) | 117 | __format(printf, 3, 0) |
| 118 | #if __has_builtin(__builtin_vsnprintf) | ||
| 125 | __diagnose_as_builtin(__builtin_vsnprintf, 1, 2, 3, 4) | 119 | __diagnose_as_builtin(__builtin_vsnprintf, 1, 2, 3, 4) |
| 120 | #endif | ||
| 126 | _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n, | 121 | _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n, |
| 127 | const char *__f, __builtin_va_list __v) | 122 | const char *__f, __builtin_va_list __v) |
| 128 | { | 123 | { |
| @@ -136,7 +131,9 @@ _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n, | |||
| 136 | __format(printf, 2, 0) | 131 | __format(printf, 2, 0) |
| 137 | __access(read_write, 1) | 132 | __access(read_write, 1) |
| 138 | __access(read_only, 2) | 133 | __access(read_only, 2) |
| 134 | #if __has_builtin(__builtin_vsprintf) | ||
| 139 | __diagnose_as_builtin(__builtin_vsprintf, 1, 2, 3) | 135 | __diagnose_as_builtin(__builtin_vsprintf, 1, 2, 3) |
| 136 | #endif | ||
| 140 | _FORTIFY_FN(vsprintf) int vsprintf(char * _FORTIFY_POS0 __s, const char *__f, | 137 | _FORTIFY_FN(vsprintf) int vsprintf(char * _FORTIFY_POS0 __s, const char *__f, |
| 141 | __builtin_va_list __v) | 138 | __builtin_va_list __v) |
| 142 | { | 139 | { |
