/* Redefine the classical malloc/free/realloc functions so that they fit well in the mmalloc framework */
#include "mmprivate.h"
-#include "gras_config.h"
+#include "internal_config.h"
#include <math.h>
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