diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/stdio.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/stdio.h b/include/stdio.h index b407d0f..c363edc 100644 --- a/include/stdio.h +++ b/include/stdio.h | |||
| @@ -38,6 +38,7 @@ extern "C" { | |||
| 38 | #undef popen | 38 | #undef popen |
| 39 | #undef vsnprintf | 39 | #undef vsnprintf |
| 40 | #undef vsprintf | 40 | #undef vsprintf |
| 41 | #undef printf | ||
| 41 | 42 | ||
| 42 | __access(read_only, 2) | 43 | __access(read_only, 2) |
| 43 | #if __has_builtin(__builtin_fdopen) | 44 | #if __has_builtin(__builtin_fdopen) |
| @@ -241,6 +242,17 @@ _FORTIFY_FN(sprintf) int sprintf(char *__s, const char *__f, ...) | |||
| 241 | #endif | 242 | #endif |
| 242 | } | 243 | } |
| 243 | 244 | ||
| 245 | __format(printf, 1, 2) | ||
| 246 | __access(read_only, 1) | ||
| 247 | _FORTIFY_FN(printf) int printf(const char *__f, ...) | ||
| 248 | { | ||
| 249 | #if __has_builtin(__builtin___printf_chk) && USE_NATIVE_CHK | ||
| 250 | return __builtin___printf_chk(_FORTIFY_SOURCE, __f, __builtin_va_arg_pack()); | ||
| 251 | #else | ||
| 252 | return __orig_printf(__f, __builtin_va_arg_pack()); | ||
| 253 | #endif | ||
| 254 | } | ||
| 255 | |||
| 244 | #endif /* __has_builtin(__builtin_va_arg_pack) */ | 256 | #endif /* __has_builtin(__builtin_va_arg_pack) */ |
| 245 | 257 | ||
| 246 | #ifdef __cplusplus | 258 | #ifdef __cplusplus |
