diff --git a/base/src/base/heap/sliced_heap.cc b/base/src/base/heap/sliced_heap.cc index 67580da036..a05b06cf89 100644 --- a/base/src/base/heap/sliced_heap.cc +++ b/base/src/base/heap/sliced_heap.cc @@ -29,6 +29,8 @@ namespace Genode { inline void *operator new(size_t size, void *at_addr) { return at_addr; } + inline void operator delete (void*) { } + /** * Constructor */ @@ -106,6 +108,7 @@ void Sliced_heap::free(void *addr, size_t size) _block_list.remove(b); _consumed -= b->size(); Ram_dataspace_capability ds_cap = b->ds_cap(); + delete b; _rm_session->detach(b); _ram_session->free(ds_cap); }