From 4392b983b8e765a25c7bf081c06e8ecc37425274 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 14 Feb 2023 13:42:03 +0100 Subject: [PATCH] mempool: make mempool_free_tile() return NULL To match how we usually do this current allocation code. (Also, make it accept a NULL pointer, also in order to match behaviour in the rest of our codebase) --- src/basic/mempool.c | 11 +++++++++-- src/basic/mempool.h | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/basic/mempool.c b/src/basic/mempool.c index d934aa9547..999b86d5cb 100644 --- a/src/basic/mempool.c +++ b/src/basic/mempool.c @@ -70,9 +70,16 @@ void* mempool_alloc0_tile(struct mempool *mp) { return p; } -void mempool_free_tile(struct mempool *mp, void *p) { - * (void**) p = mp->freelist; +void* mempool_free_tile(struct mempool *mp, void *p) { + assert(mp); + + if (!p) + return NULL; + + *(void**) p = mp->freelist; mp->freelist = p; + + return NULL; } void mempool_drop(struct mempool *mp) { diff --git a/src/basic/mempool.h b/src/basic/mempool.h index 134e6cab17..6680ba3a9b 100644 --- a/src/basic/mempool.h +++ b/src/basic/mempool.h @@ -15,7 +15,7 @@ struct mempool { void* mempool_alloc_tile(struct mempool *mp); void* mempool_alloc0_tile(struct mempool *mp); -void mempool_free_tile(struct mempool *mp, void *p); +void* mempool_free_tile(struct mempool *mp, void *p); #define DEFINE_MEMPOOL(pool_name, tile_type, alloc_at_least) \ static struct mempool pool_name = { \