summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/arena.c3
-rw-r--r--src/chunk.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/src/arena.c b/src/arena.c
index 6f28abe..f13b5e1 100644
--- a/src/arena.c
+++ b/src/arena.c
@@ -1131,6 +1131,8 @@ arena_bin_nonfull_run_get(arena_t *arena, arena_bin_t *bin)
(uintptr_t)bin_info->bitmap_offset);
/* Initialize run internals. */
+ VALGRIND_MAKE_MEM_UNDEFINED(run, bin_info->reg0_offset -
+ bin_info->redzone_size);
run->bin = bin;
run->nextind = 0;
run->nfree = bin_info->nregs;
@@ -1924,6 +1926,7 @@ arena_ralloc(void *ptr, size_t oldsize, size_t size, size_t extra,
* expectation that the extra bytes will be reliably preserved.
*/
copysize = (size < oldsize) ? size : oldsize;
+ VALGRIND_MAKE_MEM_UNDEFINED(ret, copysize);
memcpy(ret, ptr, copysize);
iqalloc(ptr);
return (ret);
diff --git a/src/chunk.c b/src/chunk.c
index 5426b02..7ac229c 100644
--- a/src/chunk.c
+++ b/src/chunk.c
@@ -168,6 +168,7 @@ label_return:
size_t i;
size_t *p = (size_t *)(uintptr_t)ret;
+ VALGRIND_MAKE_MEM_DEFINED(ret, size);
for (i = 0; i < size / sizeof(size_t); i++)
assert(p[i] == 0);
}