((size) && (unsigned) (nmemb) >= INT32_MAX / (unsigned) (size) ? NULL : \
xrealloc(ptr, (unsigned) (nmemb) * (unsigned) (size)))
((size) && (unsigned) (nmemb) >= INT32_MAX / (unsigned) (size) ? NULL : \
xrealloc(ptr, (unsigned) (nmemb) * (unsigned) (size)))