wasi-libc/basics/sources/reallocarray.c
Dan Gohman ad03c82d65 Implement reallocarray.
reallocarray is non-standard but present in GLIBC and BSDs.
2019-04-23 15:00:07 -07:00

15 lines
379 B
C

#include <stdlib.h>
#include <errno.h>
void *__reallocarray(void *ptr, size_t nmemb, size_t size) {
size_t bytes;
if (__builtin_umull_overflow(nmemb, size, &bytes)) {
errno = ENOMEM;
return NULL;
}
return realloc(ptr, bytes);
}
void *reallocarray(void *ptr, size_t nmemb, size_t size)
__attribute__((__weak__, __alias__("__reallocarray")));