Dnmalloc is an allocator that keeps heap management data separate from the heap itself. As a result, dnmalloc is not vulnerable to corruption of the heap management information by heap buffer overflows or double free errors.