Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : store last visited states during exploration
[simgrid.git] / src / xbt / mmalloc / mm_legacy.c
index e88538a..96610ee 100644 (file)
@@ -30,7 +30,7 @@ void mmalloc_set_current_heap(xbt_mheap_t new_heap)
   __mmalloc_current_heap = new_heap;
 }
 
-#ifdef MMALLOC_WANT_OVERIDE_LEGACY
+#ifdef MMALLOC_WANT_OVERRIDE_LEGACY
 void *malloc(size_t n)
 {
   xbt_mheap_t mdp = __mmalloc_current_heap ?: (xbt_mheap_t) mmalloc_preinit();
@@ -69,11 +69,13 @@ void *realloc(void *p, size_t s)
 
 void free(void *p)
 {
-  xbt_mheap_t mdp = __mmalloc_current_heap ?: (xbt_mheap_t) mmalloc_preinit();
+  if (p != NULL) {
+    xbt_mheap_t mdp = __mmalloc_current_heap ?: (xbt_mheap_t) mmalloc_preinit();
 
-  LOCK(mdp);
-  mfree(mdp, p);
-  UNLOCK(mdp);
+    LOCK(mdp);
+    mfree(mdp, p);
+    UNLOCK(mdp);
+  }
 }
 #endif