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