Shouldn't we `return` early if one the malloc/calloc/realloc fails?