ralloc: remove memset from ralloc_size

only do it in rzalloc_size as it was supposed to be

Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
This commit is contained in:
Marek Olšák 2016-10-07 00:51:41 +02:00
parent 52d2b28f7f
commit acc23b04cf

View file

@ -109,18 +109,6 @@ ralloc_context(const void *ctx)
void *
ralloc_size(const void *ctx, size_t size)
{
/* ralloc_size was originally implemented using calloc, which meant some
* code accidentally relied on its zero filling behavior.
*
* TODO: Make ralloc_size not zero fill memory, and cleanup any code that
* should instead be using rzalloc.
*/
return rzalloc_size(ctx, size);
}
void *
rzalloc_size(const void *ctx, size_t size)
{
void *block = malloc(size + sizeof(ralloc_header));
ralloc_header *info;
@ -140,9 +128,6 @@ rzalloc_size(const void *ctx, size_t size)
info->next = NULL;
info->destructor = NULL;
/* memset the allocation except for ralloc_header */
memset(&info[1], 0, size);
parent = ctx != NULL ? get_header(ctx) : NULL;
add_child(parent, info);
@ -154,6 +139,17 @@ rzalloc_size(const void *ctx, size_t size)
return PTR_FROM_HEADER(info);
}
void *
rzalloc_size(const void *ctx, size_t size)
{
void *ptr = ralloc_size(ctx, size);
if (likely(ptr))
memset(ptr, 0, size);
return ptr;
}
/* helper function - assumes ptr != NULL */
static void *
resize(void *ptr, size_t size)