void free(void *ptr) { t_block *b; if (ptr == NULL) return ; b = search_ptr(ptr); if (b == NULL) return ; b = fusion_block(b); check_page(b); }
void lmm_test_free(void *ptr, const char *f, const int l) { int found; char str[256]; if (!lmm_initialized) { printf("Error! please call lmm_init() first.\n"); return; } sem_wait(&lmm_sem); found = search_ptr(ptr); if (found == 0) { sprintf(str, ">>>LMM: bad free(%p) called from %s():%d\n", ptr, f, l); lmm_attach_to_log(str); } sem_post(&lmm_sem); return; }