summaryrefslogtreecommitdiff
path: root/include/stdio.h
diff options
context:
space:
mode:
authorjvoisin2023-09-21 15:50:32 +0200
committerjvoisin2023-09-21 15:50:32 +0200
commit8c2352b985b1bf69efb965ba15f5e300eb7e8e12 (patch)
tree9901e915156ca32c0b9f006f3139ba34958f68ef /include/stdio.h
parent46add4c4aecbbb8edb4b70ac5ed3a8c144f497ee (diff)
Properly enable diagnose_as_builtin attribute
Diffstat (limited to 'include/stdio.h')
-rw-r--r--include/stdio.h11
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{