From: Phil Carmody Date: Mon, 28 Jul 2014 13:45:33 +0000 (+0300) Subject: lib: data-stack - add vital sanity-preserving assert to t_pop X-Git-Tag: 2.2.14.rc1~224 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9bee080651276b7baf037c3f0bd84e41a40a433;p=thirdparty%2Fdovecot%2Fcore.git lib: data-stack - add vital sanity-preserving assert to t_pop If something has re-ordered those two offsets, the following memset will explode. Signed-off-by: Phil Carmody --- diff --git a/src/lib/data-stack.c b/src/lib/data-stack.c index 99926c9dc3..53e6945d56 100644 --- a/src/lib/data-stack.c +++ b/src/lib/data-stack.c @@ -278,6 +278,7 @@ unsigned int t_pop(void) pos = current_block->size - current_frame_block->block_space_used[frame_pos]; used_size = current_block->size - current_block->lowwater; + i_assert(used_size >= pos); memset(STACK_BLOCK_DATA(current_block) + pos, CLEAR_CHR, used_size - pos); }