summaryrefslogtreecommitdiff
path: root/include/stdlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/stdlib.h')
-rw-r--r--include/stdlib.h26
1 files changed, 13 insertions, 13 deletions
diff --git a/include/stdlib.h b/include/stdlib.h
index 986b1df..1c10906 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -37,7 +37,7 @@ __diagnose_as_builtin(__builtin_mbstowcs, 1, 2, 3)
37_FORTIFY_FN(mbstowcs) size_t mbstowcs(wchar_t * _FORTIFY_POS0 __ws, 37_FORTIFY_FN(mbstowcs) size_t mbstowcs(wchar_t * _FORTIFY_POS0 __ws,
38 const char *__s, size_t __wn) 38 const char *__s, size_t __wn)
39{ 39{
40 __fh_size_t __b = __bos(__ws, 0); 40 __fh_size_t __b = __fh_bos(__ws, 0);
41 41
42 if (__ws && __wn > __b / sizeof(wchar_t)) 42 if (__ws && __wn > __b / sizeof(wchar_t))
43 __builtin_trap(); 43 __builtin_trap();
@@ -45,14 +45,14 @@ _FORTIFY_FN(mbstowcs) size_t mbstowcs(wchar_t * _FORTIFY_POS0 __ws,
45} 45}
46 46
47#undef wcstombs 47#undef wcstombs
48__access(write_only, 1, 3) 48__fh_access(write_only, 1, 3)
49#if __has_builtin(__builtin_wcstombs) 49#if __has_builtin(__builtin_wcstombs)
50__diagnose_as_builtin(__builtin_wcstombs, 1, 2, 3) 50__diagnose_as_builtin(__builtin_wcstombs, 1, 2, 3)
51#endif 51#endif
52_FORTIFY_FN(wcstombs) size_t wcstombs(char * _FORTIFY_POS0 __s, 52_FORTIFY_FN(wcstombs) size_t wcstombs(char * _FORTIFY_POS0 __s,
53 const wchar_t *__ws, size_t __n) 53 const wchar_t *__ws, size_t __n)
54{ 54{
55 __fh_size_t __b = __bos(__s, 0); 55 __fh_size_t __b = __fh_bos(__s, 0);
56 56
57 if (__s && __n > __b) 57 if (__s && __n > __b)
58 __builtin_trap(); 58 __builtin_trap();
@@ -68,7 +68,7 @@ __diagnose_as_builtin(__builtin_wctomb, 1, 2)
68#endif 68#endif
69_FORTIFY_FN(wctomb) int wctomb(char * _FORTIFY_POS0 __s, wchar_t __w) 69_FORTIFY_FN(wctomb) int wctomb(char * _FORTIFY_POS0 __s, wchar_t __w)
70{ 70{
71 __fh_size_t __b = __bos(__s, 0); 71 __fh_size_t __b = __fh_bos(__s, 0);
72 72
73 if (__s && 16 > __b && MB_CUR_MAX > __b) 73 if (__s && 16 > __b && MB_CUR_MAX > __b)
74 __builtin_trap(); 74 __builtin_trap();
@@ -81,11 +81,11 @@ _FORTIFY_FN(wctomb) int wctomb(char * _FORTIFY_POS0 __s, wchar_t __w)
81#if __has_builtin(__builtin_qsort) 81#if __has_builtin(__builtin_qsort)
82__diagnose_as_builtin(__builtin_qsort, 1, 2, 3, 4) 82__diagnose_as_builtin(__builtin_qsort, 1, 2, 3, 4)
83#endif 83#endif
84__access(read_write, 1) 84__fh_access(read_write, 1)
85_FORTIFY_FN(qsort) void qsort(void * _FORTIFY_POS0 base, size_t nmemb, size_t size, 85_FORTIFY_FN(qsort) void qsort(void * _FORTIFY_POS0 base, size_t nmemb, size_t size,
86 int (*compar)(const void *, const void *)) 86 int (*compar)(const void *, const void *))
87{ 87{
88 __fh_size_t __b = __bos(base, 0); 88 __fh_size_t __b = __fh_bos(base, 0);
89 89
90 if (__bmo(nmemb, size)) 90 if (__bmo(nmemb, size))
91 __builtin_trap(); 91 __builtin_trap();
@@ -101,8 +101,8 @@ _FORTIFY_FN(qsort) void qsort(void * _FORTIFY_POS0 base, size_t nmemb, size_t si
101#undef realloc 101#undef realloc
102#undef calloc 102#undef calloc
103 103
104__malloc(malloc (free, 1)) 104__fh_malloc(malloc (free, 1))
105__alloc_size(1) 105__fh_alloc_size(1)
106__warn_unused_result 106__warn_unused_result
107#if __has_builtin(__builtin_malloc) 107#if __has_builtin(__builtin_malloc)
108__diagnose_as_builtin(__builtin_malloc, 1) 108__diagnose_as_builtin(__builtin_malloc, 1)
@@ -112,7 +112,7 @@ _FORTIFY_FN(malloc) void *malloc(size_t __s)
112 return __orig_malloc(__s); 112 return __orig_malloc(__s);
113} 113}
114 114
115__alloc_size(2) 115__fh_alloc_size(2)
116__warn_unused_result 116__warn_unused_result
117#if __has_builtin(__builtin_realloc) 117#if __has_builtin(__builtin_realloc)
118__diagnose_as_builtin(__builtin_realloc, 1, 2) 118__diagnose_as_builtin(__builtin_realloc, 1, 2)
@@ -122,7 +122,7 @@ _FORTIFY_FN(realloc) void *realloc(void *__p, size_t __s)
122 return __orig_realloc(__p, __s); 122 return __orig_realloc(__p, __s);
123} 123}
124 124
125__alloc_size(1, 2) 125__fh_alloc_size(1, 2)
126__warn_unused_result 126__warn_unused_result
127#if __has_builtin(__builtin_calloc) 127#if __has_builtin(__builtin_calloc)
128__diagnose_as_builtin(__builtin_calloc, 1, 2) 128__diagnose_as_builtin(__builtin_calloc, 1, 2)
@@ -134,7 +134,7 @@ _FORTIFY_FN(calloc) void *calloc(size_t __n, size_t __s)
134 134
135#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 135#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
136#undef reallocarray 136#undef reallocarray
137__alloc_size (2, 3) 137__fh_alloc_size (2, 3)
138__warn_unused_result 138__warn_unused_result
139#if __has_builtin(__builtin_reallocarray) 139#if __has_builtin(__builtin_reallocarray)
140__diagnose_as_builtin(__builtin_reallocarray, 1, 2, 3) 140__diagnose_as_builtin(__builtin_reallocarray, 1, 2, 3)
@@ -154,7 +154,7 @@ __diagnose_as_builtin(__builtin_realpath, 1, 2)
154_FORTIFY_FN(realpath) char *realpath(const char *__p, char *__r) 154_FORTIFY_FN(realpath) char *realpath(const char *__p, char *__r)
155{ 155{
156 // PATH_MAX is defined as 4096 156 // PATH_MAX is defined as 4096
157 if (__r && 4096 > __bos(__r, 2)) { 157 if (__r && 4096 > __fh_bos(__r, 2)) {
158 char __buf[4096], *__ret; 158 char __buf[4096], *__ret;
159 __fh_size_t __l; 159 __fh_size_t __l;
160 160
@@ -162,7 +162,7 @@ _FORTIFY_FN(realpath) char *realpath(const char *__p, char *__r)
162 if (!__ret) 162 if (!__ret)
163 return NULL; 163 return NULL;
164 __l = __builtin_strlen(__ret) + 1; 164 __l = __builtin_strlen(__ret) + 1;
165 if (__l > __bos(__r, 0)) 165 if (__l > __fh_bos(__r, 0))
166 __builtin_trap(); 166 __builtin_trap();
167 __builtin_memcpy(__r, __ret, __l); 167 __builtin_memcpy(__r, __ret, __l);
168 return __r; 168 return __r;