summaryrefslogtreecommitdiff
path: root/include/stdio.h
diff options
context:
space:
mode:
authorjvoisin2025-11-12 22:28:13 +0100
committerjvoisin2025-11-14 13:55:31 +0100
commitbf242b15e1f7873bdb940c2441b5e57747bc2f81 (patch)
treedd80ee51edf4542b65a9e49db369dc44d089c359 /include/stdio.h
parentc93890993aded39be2f8f820fb19d8efe2cd9184 (diff)
Add `access` annotations
Diffstat (limited to 'include/stdio.h')
-rw-r--r--include/stdio.h10
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{