dovecot: pool_system_realloc(): Moved malloc_usable_size() check...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Aug 16 17:23:14 EEST 2007
details: http://hg.dovecot.org/dovecot/rev/7d82a232b5b0
changeset: 6300:7d82a232b5b0
user: Timo Sirainen <tss at iki.fi>
date: Thu Aug 16 17:23:11 2007 +0300
description:
pool_system_realloc(): Moved malloc_usable_size() check before realloc() so
that we don't assert-crash if realloc() shrinks memory.
diffstat:
1 file changed, 5 insertions(+), 4 deletions(-)
src/lib/mempool-system.c | 9 +++++----
diffs (26 lines):
diff -r 6342c8cc76c7 -r 7d82a232b5b0 src/lib/mempool-system.c
--- a/src/lib/mempool-system.c Wed Aug 15 19:17:48 2007 +0300
+++ b/src/lib/mempool-system.c Thu Aug 16 17:23:11 2007 +0300
@@ -97,6 +97,11 @@ static void *pool_system_realloc(pool_t
if (new_size == 0 || new_size > SSIZE_T_MAX)
i_panic("Trying to allocate %"PRIuSIZE_T" bytes", new_size);
+#if !defined(USE_GC) && defined(HAVE_MALLOC_USABLE_SIZE)
+ i_assert(old_size == (size_t)-1 || mem == NULL ||
+ old_size <= malloc_usable_size(mem));
+#endif
+
#ifndef USE_GC
mem = realloc(mem, new_size);
#else
@@ -107,10 +112,6 @@ static void *pool_system_realloc(pool_t
"pool_system_realloc(): Out of memory");
}
-#if !defined(USE_GC) && defined(HAVE_MALLOC_USABLE_SIZE)
- i_assert(old_size == (size_t)-1 || mem == NULL ||
- old_size <= malloc_usable_size(mem));
-#endif
if (old_size < new_size) {
/* clear new data */
memset((char *) mem + old_size, 0, new_size - old_size);
More information about the dovecot-cvs
mailing list