]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
malloc: Use INT_ADD_OVERFLOW instead of __builtin_add_overflow_p
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 17 Oct 2025 19:13:25 +0000 (16:13 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 20 Oct 2025 14:33:54 +0000 (11:33 -0300)
clang does not support the __builtin_*_overflow_p builtins, on gcc
the macros will call __builtin_*_overflow_p.

Reviewed-by: Collin Funk <collin.funk1@gmail.com>
malloc/malloc.c

index b79582a680a359f398c02060e14a7dafa704be70..4ec326b2ad49ea68cec7670190a26c770a0996c9 100644 (file)
 #include <stdio.h>    /* needed for malloc_stats */
 #include <errno.h>
 #include <assert.h>
+#include <intprops.h>
 
 #include <shlib-compat.h>
 
@@ -3526,8 +3527,8 @@ __libc_free (void *mem)
 #endif
 
   /* Check size >= MINSIZE and p + size does not overflow.  */
-  if (__glibc_unlikely (__builtin_add_overflow_p ((uintptr_t) p, size - MINSIZE,
-                                                 (uintptr_t) 0)))
+  if (__glibc_unlikely (INT_ADD_OVERFLOW ((uintptr_t) p,
+                                         size - MINSIZE)))
     return malloc_printerr_tail ("free(): invalid size");
 
   _int_free_chunk (arena_for_chunk (p), p, size, 0);