Mercurial > dovecot > core-2.2
changeset 1350:68544dbee475 HEAD
p_clear() left only the smallest block, not the largest block
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 11 Apr 2003 01:37:01 +0300 |
parents | 3bd74a1326c9 |
children | 6709d9330885 |
files | src/lib/mempool-alloconly.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/mempool-alloconly.c Fri Apr 11 00:19:56 2003 +0300 +++ b/src/lib/mempool-alloconly.c Fri Apr 11 01:37:01 2003 +0300 @@ -240,10 +240,10 @@ struct alloconly_pool *apool = (struct alloconly_pool *) pool; struct pool_block *block; - /* destroy all blocks but the last, which is the largest */ + /* destroy all blocks but the first, which is the largest */ while (apool->block->prev != NULL) { - block = apool->block; - apool->block = block->prev; + block = apool->block->prev; + apool->block->prev = block->prev; #ifdef DEBUG memset(block, 0xde, SIZEOF_POOLBLOCK + block->size); @@ -251,7 +251,7 @@ free(block); } - /* clear the last block */ + /* clear the block */ memset(POOL_BLOCK_DATA(apool->block), 0, apool->block->size - apool->block->left); apool->block->left = apool->block->size;