]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: Split off pool_alloconly_free_block()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 23 Nov 2021 13:58:39 +0000 (14:58 +0100)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Mon, 20 Dec 2021 20:51:32 +0000 (20:51 +0000)
src/lib/mempool-alloconly.c

index e2ef5ab14001b754cee1995bf1691a54ad09791b..7bdda564fca06fda5eaa6931fcc913babf012710 100644 (file)
@@ -280,6 +280,20 @@ pool_t pool_alloconly_create_clean(const char *name, size_t size)
        return pool;
 }
 
+static void pool_alloconly_free_block(struct alloconly_pool *apool ATTR_UNUSED,
+                                     struct pool_block *block)
+{
+#ifdef DEBUG
+       safe_memset(block, CLEAR_CHR, SIZEOF_POOLBLOCK + block->size);
+#else
+       if (apool->clean_frees) {
+               safe_memset(block, CLEAR_CHR,
+                           SIZEOF_POOLBLOCK + block->size);
+       }
+#endif
+       free(block);
+}
+
 static void
 pool_alloconly_free_blocks_until_last(struct alloconly_pool *apool)
 {
@@ -291,15 +305,7 @@ pool_alloconly_free_blocks_until_last(struct alloconly_pool *apool)
                block = apool->block;
                apool->block = block->prev;
 
-#ifdef DEBUG
-               safe_memset(block, CLEAR_CHR, SIZEOF_POOLBLOCK + block->size);
-#else
-               if (apool->clean_frees) {
-                       safe_memset(block, CLEAR_CHR,
-                                   SIZEOF_POOLBLOCK + block->size);
-               }
-#endif
-               free(block);
+               pool_alloconly_free_block(apool, block);
        }
 }