sys/oneway-malloc: check calloc args
This commit is contained in:
parent
0695389dc2
commit
e44fa2ba3e
@ -61,6 +61,11 @@ void __attribute__((weak)) *realloc(void *ptr, size_t size)
|
|||||||
|
|
||||||
void __attribute__((weak)) *calloc(size_t size, size_t cnt)
|
void __attribute__((weak)) *calloc(size_t size, size_t cnt)
|
||||||
{
|
{
|
||||||
|
/* ensure size * cnt doesn't overflow size_t */
|
||||||
|
if (cnt && size > (size_t)-1 / cnt) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void *mem = malloc(size * cnt);
|
void *mem = malloc(size * cnt);
|
||||||
if (mem) {
|
if (mem) {
|
||||||
memset(mem, 0, size * cnt);
|
memset(mem, 0, size * cnt);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user