diff options
| author | jvoisin | 2023-03-18 14:01:02 +0100 |
|---|---|---|
| committer | jvoisin | 2025-10-31 22:16:21 +0100 |
| commit | 249492e08adbf034976770ab3b021ba093a2ab18 (patch) | |
| tree | cd04ae414fa7ef646a31f767b9295946fd2c9987 /include/strings.h | |
| parent | e3fee64643279c144efd3d6856ed4e818c0d5ca2 (diff) | |
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.
Diffstat (limited to 'include/strings.h')
| -rw-r--r-- | include/strings.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/strings.h b/include/strings.h index a16e1ad..7645848 100644 --- a/include/strings.h +++ b/include/strings.h | |||
| @@ -32,8 +32,8 @@ extern "C" { | |||
| 32 | #undef bzero | 32 | #undef bzero |
| 33 | _FORTIFY_FN(bcopy) void bcopy(const void *__s, void *__d, size_t __n) | 33 | _FORTIFY_FN(bcopy) void bcopy(const void *__s, void *__d, size_t __n) |
| 34 | { | 34 | { |
| 35 | size_t __bd = __builtin_object_size(__d, 0); | 35 | size_t __bd = __bos(__d, 0); |
| 36 | size_t __bs = __builtin_object_size(__s, 0); | 36 | size_t __bs = __bos(__s, 0); |
| 37 | 37 | ||
| 38 | if (__n > __bd || __n > __bs) | 38 | if (__n > __bd || __n > __bs) |
| 39 | __builtin_trap(); | 39 | __builtin_trap(); |
| @@ -42,7 +42,7 @@ _FORTIFY_FN(bcopy) void bcopy(const void *__s, void *__d, size_t __n) | |||
| 42 | 42 | ||
| 43 | _FORTIFY_FN(bzero) void bzero(void *__s, size_t __n) | 43 | _FORTIFY_FN(bzero) void bzero(void *__s, size_t __n) |
| 44 | { | 44 | { |
| 45 | size_t __b = __builtin_object_size(__s, 0); | 45 | size_t __b = __bos(__s, 0); |
| 46 | 46 | ||
| 47 | if (__n > __b) | 47 | if (__n > __b) |
| 48 | __builtin_trap(); | 48 | __builtin_trap(); |
