1 #include <stdlib.h>
2 #include <errno.h>
3 
__reallocarray(void * ptr,size_t nmemb,size_t size)4 void *__reallocarray(void *ptr, size_t nmemb, size_t size) {
5     size_t bytes;
6     if (__builtin_umull_overflow(nmemb, size, &bytes)) {
7         errno = ENOMEM;
8         return NULL;
9     }
10     return realloc(ptr, bytes);
11 }
12 
13 void *reallocarray(void *ptr, size_t nmemb, size_t size)
14     __attribute__((__weak__, __alias__("__reallocarray")));
15