xref: /aosp_15_r20/external/musl/src/malloc/reallocarray.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #define _BSD_SOURCE
2*c9945492SAndroid Build Coastguard Worker #include <errno.h>
3*c9945492SAndroid Build Coastguard Worker #include <stdlib.h>
4*c9945492SAndroid Build Coastguard Worker 
reallocarray(void * ptr,size_t m,size_t n)5*c9945492SAndroid Build Coastguard Worker void *reallocarray(void *ptr, size_t m, size_t n)
6*c9945492SAndroid Build Coastguard Worker {
7*c9945492SAndroid Build Coastguard Worker 	if (n && m > -1 / n) {
8*c9945492SAndroid Build Coastguard Worker 		errno = ENOMEM;
9*c9945492SAndroid Build Coastguard Worker 		return 0;
10*c9945492SAndroid Build Coastguard Worker 	}
11*c9945492SAndroid Build Coastguard Worker 
12*c9945492SAndroid Build Coastguard Worker 	return realloc(ptr, m * n);
13*c9945492SAndroid Build Coastguard Worker }
14