#define _BSD_SOURCE #include #include void *reallocarray(void *ptr, size_t m, size_t n) { if (n && m > -1 / n) { errno = ENOMEM; return 0; } return realloc(ptr, m * n); }