From 059c7ed74acb81bb564f88a984dc3549f7b52fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Fri, 12 Nov 2021 16:30:34 +0100 Subject: [PATCH] dde_linux: prevent debug message in memory backend The Allocator_avl back end will display diagnostic messages if the address to be freed is not at the beginning of a block. This happens regulary when 'struct page' objects are not freed in allocation order. Issue #4325. --- repos/dde_linux/src/lib/lx_kit/memory.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/dde_linux/src/lib/lx_kit/memory.cc b/repos/dde_linux/src/lib/lx_kit/memory.cc index 5e3b18eac6..f819ef7493 100644 --- a/repos/dde_linux/src/lib/lx_kit/memory.cc +++ b/repos/dde_linux/src/lib/lx_kit/memory.cc @@ -167,6 +167,9 @@ bool Lx_kit::Mem_allocator::free(const void * ptr) if (!_mem.valid_addr((addr_t)ptr)) return false; + if (!_mem.size_at(ptr)) + return true; + _mem.free(const_cast(ptr)); return true; }