BLI_memarena: unpoison memory before freeing it
authorJacques Lucke <mail@jlucke.com>
Thu, 16 May 2019 16:19:04 +0000 (18:19 +0200)
committerJacques Lucke <mail@jlucke.com>
Thu, 16 May 2019 16:19:14 +0000 (18:19 +0200)
source/blender/blenlib/intern/BLI_memarena.c

index b5815f7..0f7ac92 100644 (file)
@@ -77,6 +77,10 @@ static void memarena_buf_free_all(struct MemBuf *mb)
 {
   while (mb != NULL) {
     struct MemBuf *mb_next = mb->next;
+
+    /* Unpoison memory because MEM_freeN might overwrite it. */
+    ASAN_UNPOISON_MEMORY_REGION(mb, (uint)MEM_allocN_len(mb));
+
     MEM_freeN(mb);
     mb = mb_next;
   }