Просмотр исходного кода

memheap: check against over written in rt_memheap_free

Grissiom 11 лет назад
Родитель
Сommit
f8c171d5ad
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      src/memheap.c

+ 2 - 0
src/memheap.c

@@ -517,6 +517,8 @@ void rt_memheap_free(void *ptr)
 
     /* check magic */
     RT_ASSERT((header_ptr->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC);
+    /* check whether this block of memory has been over-written. */
+    RT_ASSERT((header_ptr->next->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC);
 
     /* get pool ptr */
     heap = header_ptr->pool_ptr;