mirror of
https://github.com/facebook/zstd.git
synced 2025-07-28 00:01:53 +03:00
fuzz: Fix FUZZ_malloc_rand() to return non-NULL for zero-size allocations
The FUZZ_malloc_rand() function was incorrectly always returning NULL for zero-size allocations. The random offset generated by FUZZ_dataProducer_int32Range() was not being added to the pointer variable, causing the function to always return (void *)0.
This commit is contained in:
@ -31,12 +31,11 @@ void* FUZZ_malloc_rand(size_t size, FUZZ_dataProducer_t *producer)
|
||||
return mem;
|
||||
} else {
|
||||
uintptr_t ptr = 0;
|
||||
/* Add +- 1M 50% of the time */
|
||||
/* Return junk pointer 50% of the time */
|
||||
if (FUZZ_dataProducer_uint32Range(producer, 0, 1))
|
||||
FUZZ_dataProducer_int32Range(producer, -1000000, 1000000);
|
||||
ptr += FUZZ_dataProducer_int32Range(producer, -1000000, 1000000);
|
||||
return (void*)ptr;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int FUZZ_memcmp(void const* lhs, void const* rhs, size_t size)
|
||||
|
Reference in New Issue
Block a user