diff options
| author | jvoisin | 2025-11-12 22:28:13 +0100 |
|---|---|---|
| committer | jvoisin | 2025-11-14 13:55:31 +0100 |
| commit | bf242b15e1f7873bdb940c2441b5e57747bc2f81 (patch) | |
| tree | dd80ee51edf4542b65a9e49db369dc44d089c359 /include/stdio.h | |
| parent | c93890993aded39be2f8f820fb19d8efe2cd9184 (diff) | |
Add `access` annotations
Diffstat (limited to 'include/stdio.h')
| -rw-r--r-- | include/stdio.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/stdio.h b/include/stdio.h index a75c9ea..67738ed 100644 --- a/include/stdio.h +++ b/include/stdio.h | |||
| @@ -37,6 +37,8 @@ extern "C" { | |||
| 37 | #undef snprintf | 37 | #undef snprintf |
| 38 | #undef sprintf | 38 | #undef sprintf |
| 39 | 39 | ||
| 40 | __access(read_write, 1, 2) | ||
| 41 | __access(read_only, 3) | ||
| 40 | _FORTIFY_FN(fgets) char *fgets(char * _FORTIFY_POS0 __s, int __n, FILE *__f) | 42 | _FORTIFY_FN(fgets) char *fgets(char * _FORTIFY_POS0 __s, int __n, FILE *__f) |
| 41 | { | 43 | { |
| 42 | size_t __b = __bos(__s, 0); | 44 | size_t __b = __bos(__s, 0); |
| @@ -46,6 +48,8 @@ _FORTIFY_FN(fgets) char *fgets(char * _FORTIFY_POS0 __s, int __n, FILE *__f) | |||
| 46 | return __orig_fgets(__s, __n, __f); | 48 | return __orig_fgets(__s, __n, __f); |
| 47 | } | 49 | } |
| 48 | 50 | ||
| 51 | __access(write_only, 1) | ||
| 52 | __access(read_only, 4) | ||
| 49 | _FORTIFY_FN(fread) size_t fread(void * _FORTIFY_POS0 __d, size_t __n, | 53 | _FORTIFY_FN(fread) size_t fread(void * _FORTIFY_POS0 __d, size_t __n, |
| 50 | size_t __m, FILE *__f) | 54 | size_t __m, FILE *__f) |
| 51 | { | 55 | { |
| @@ -58,6 +62,8 @@ _FORTIFY_FN(fread) size_t fread(void * _FORTIFY_POS0 __d, size_t __n, | |||
| 58 | return __orig_fread(__d, __n, __m, __f); | 62 | return __orig_fread(__d, __n, __m, __f); |
| 59 | } | 63 | } |
| 60 | 64 | ||
| 65 | __access(read_only, 1) | ||
| 66 | __access(write_only, 4) | ||
| 61 | _FORTIFY_FN(fwrite) size_t fwrite(const void * _FORTIFY_POS0 __d, size_t __n, | 67 | _FORTIFY_FN(fwrite) size_t fwrite(const void * _FORTIFY_POS0 __d, size_t __n, |
| 62 | size_t __m, FILE *__f) | 68 | size_t __m, FILE *__f) |
| 63 | { | 69 | { |
| @@ -70,6 +76,8 @@ _FORTIFY_FN(fwrite) size_t fwrite(const void * _FORTIFY_POS0 __d, size_t __n, | |||
| 70 | return __orig_fwrite(__d, __n, __m, __f); | 76 | return __orig_fwrite(__d, __n, __m, __f); |
| 71 | } | 77 | } |
| 72 | 78 | ||
| 79 | __access(write_only, 1, 2) | ||
| 80 | __access(read_only, 3) | ||
| 73 | _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n, | 81 | _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n, |
| 74 | const char *__f, __builtin_va_list __v) | 82 | const char *__f, __builtin_va_list __v) |
| 75 | { | 83 | { |
| @@ -80,6 +88,8 @@ _FORTIFY_FN(vsnprintf) int vsnprintf(char * _FORTIFY_POS0 __s, size_t __n, | |||
| 80 | return __orig_vsnprintf(__s, __n, __f, __v); | 88 | return __orig_vsnprintf(__s, __n, __f, __v); |
| 81 | } | 89 | } |
| 82 | 90 | ||
| 91 | __access(write_only, 1) | ||
| 92 | __access(read_only, 2) | ||
| 83 | _FORTIFY_FN(vsprintf) int vsprintf(char * _FORTIFY_POS0 __s, const char *__f, | 93 | _FORTIFY_FN(vsprintf) int vsprintf(char * _FORTIFY_POS0 __s, const char *__f, |
| 84 | __builtin_va_list __v) | 94 | __builtin_va_list __v) |
| 85 | { | 95 | { |
