From 249492e08adbf034976770ab3b021ba093a2ab18 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Sat, 18 Mar 2023 14:01:02 +0100 Subject: Make use of __builtin_dynamic_object_size GCC and Clang provide __builtin_dynamic_object_size (see documentation: https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html), so we should make use of it when its available. --- include/stdio.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'include/stdio.h') diff --git a/include/stdio.h b/include/stdio.h index a965184..1eb20be 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -38,7 +38,7 @@ extern "C" { _FORTIFY_FN(fgets) char *fgets(char *__s, int __n, FILE *__f) { - size_t __b = __builtin_object_size(__s, 0); + size_t __b = __bos(__s, 0); if ((size_t)__n > __b) __builtin_trap(); @@ -47,7 +47,7 @@ _FORTIFY_FN(fgets) char *fgets(char *__s, int __n, FILE *__f) _FORTIFY_FN(fread) size_t fread(void *__d, size_t __n, size_t __m, FILE *__f) { - size_t __b = __builtin_object_size(__d, 0); + size_t __b = __bos(__d, 0); if (__n != 0 && (__n * __m) / __n != __m) __builtin_trap(); @@ -58,7 +58,7 @@ _FORTIFY_FN(fread) size_t fread(void *__d, size_t __n, size_t __m, FILE *__f) _FORTIFY_FN(fwrite) size_t fwrite(const void *__d, size_t __n, size_t __m, FILE *__f) { - size_t __b = __builtin_object_size(__d, 0); + size_t __b = __bos(__d, 0); if (__n != 0 && (__n * __m) / __n != __m) __builtin_trap(); @@ -70,7 +70,7 @@ _FORTIFY_FN(fwrite) size_t fwrite(const void *__d, size_t __n, size_t __m, FILE _FORTIFY_FN(vsnprintf) int vsnprintf(char *__s, size_t __n, const char *__f, __builtin_va_list __v) { - size_t __b = __builtin_object_size(__s, 0); + size_t __b = __bos(__s, 0); if (__n > __b) __builtin_trap(); @@ -79,7 +79,7 @@ _FORTIFY_FN(vsnprintf) int vsnprintf(char *__s, size_t __n, const char *__f, _FORTIFY_FN(vsprintf) int vsprintf(char *__s, const char *__f, __builtin_va_list __v) { - size_t __b = __builtin_object_size(__s, 0); + size_t __b = __bos(__s, 0); int __r; if (__b != (size_t)-1) { @@ -94,7 +94,7 @@ _FORTIFY_FN(vsprintf) int vsprintf(char *__s, const char *__f, __builtin_va_list _FORTIFY_FN(snprintf) int snprintf(char *__s, size_t __n, const char *__f, ...) { - size_t __b = __builtin_object_size(__s, 0); + size_t __b = __bos(__s, 0); if (__n > __b) __builtin_trap(); @@ -103,7 +103,7 @@ _FORTIFY_FN(snprintf) int snprintf(char *__s, size_t __n, const char *__f, ...) _FORTIFY_FN(sprintf) int sprintf(char *__s, const char *__f, ...) { - size_t __b = __builtin_object_size(__s, 0); + size_t __b = __bos(__s, 0); int __r; if (__b != (size_t)-1) { -- cgit v1.3