summaryrefslogtreecommitdiff
path: root/source/fitz/memento.c
diff options
context:
space:
mode:
authorRobin Watts <robin@peeved.(none)>2014-01-17 07:04:40 -0800
committerRobin Watts <robin.watts@artifex.com>2014-01-17 15:06:42 +0000
commitef3d3c01d57aed1204f1b77a93d5106ac8223ea8 (patch)
treea16ddcdfabdcea881535b1a2999f773b33acd6ff /source/fitz/memento.c
parent776ee05584156f6737ec7603b2f2f68d3a301bab (diff)
downloadmupdf-ef3d3c01d57aed1204f1b77a93d5106ac8223ea8.tar.xz
Fix more Memento/Valgrind interactions.
Seen when valgrinding a memento build of mudraw on: e0e44ed8692671b820de72c6c0a32608_asan_heap-uaf_8c2b76_1530_2026.pdf
Diffstat (limited to 'source/fitz/memento.c')
-rw-r--r--source/fitz/memento.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/fitz/memento.c b/source/fitz/memento.c
index 8b19c599..76b9f1fe 100644
--- a/source/fitz/memento.c
+++ b/source/fitz/memento.c
@@ -1174,8 +1174,12 @@ void *Memento_realloc(void *blk, size_t newsize)
}
newmemblk->rawsize = newsize;
#ifndef MEMENTO_LEAKONLY
+ VALGRIND_MAKE_MEM_DEFINED(newmemblk->preblk, Memento_PreSize);
memset(newmemblk->preblk, MEMENTO_PREFILL, Memento_PreSize);
+ VALGRIND_MAKE_MEM_UNDEFINED(newmemblk->preblk, Memento_PreSize);
+ VALGRIND_MAKE_MEM_DEFINED(MEMBLK_POSTPTR(newmemblk), Memento_PostSize);
memset(MEMBLK_POSTPTR(newmemblk), MEMENTO_POSTFILL, Memento_PostSize);
+ VALGRIND_MAKE_MEM_UNDEFINED(MEMBLK_POSTPTR(newmemblk), Memento_PostSize);
#endif
Memento_addBlockHead(&globals.used, newmemblk, 2);
return MEMBLK_TOBLK(newmemblk);