From 59f8f4aaabf0e1021ae8d4ad26013f819de7f355 Mon Sep 17 00:00:00 2001 From: Rafal Rudnicki Date: Wed, 12 Nov 2025 14:31:45 +0000 Subject: [PATCH] fix destroy slab order in disjoint pool free chunk --- src/pool/pool_disjoint.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pool/pool_disjoint.c b/src/pool/pool_disjoint.c index 6266d0f31..e059bba45 100644 --- a/src/pool/pool_disjoint.c +++ b/src/pool/pool_disjoint.c @@ -837,11 +837,11 @@ static void bucket_free_chunk(bucket_t *bucket, void *ptr, slab_t *slab, // remove slab slab_list_item_t *slab_it = &slab->iter; assert(slab_it->val != NULL); - destroy_slab(slab_it->val); + pool_unregister_slab(bucket->pool, slab_it->val); DL_DELETE(bucket->available_slabs, slab_it); assert(bucket->available_slabs_num > 0); bucket->available_slabs_num--; - pool_unregister_slab(bucket->pool, slab_it->val); + destroy_slab(slab_it->val); } } else { // return this chunk to the pool