dovecot-2.1: Added buffer_verify_pool()
dovecot at dovecot.org
dovecot at dovecot.org
Fri Jan 4 03:50:47 EET 2013
details: http://hg.dovecot.org/dovecot-2.1/rev/9fda4feb6e2d
changeset: 14861:9fda4feb6e2d
user: Timo Sirainen <tss at iki.fi>
date: Fri Jan 04 03:50:18 2013 +0200
description:
Added buffer_verify_pool()
diffstat:
src/lib/buffer.c | 14 ++++++++++++++
src/lib/buffer.h | 6 ++++++
2 files changed, 20 insertions(+), 0 deletions(-)
diffs (35 lines):
diff -r abcc9959b757 -r 9fda4feb6e2d src/lib/buffer.c
--- a/src/lib/buffer.c Thu Jan 03 07:30:54 2013 +0200
+++ b/src/lib/buffer.c Fri Jan 04 03:50:18 2013 +0200
@@ -314,3 +314,17 @@
return memcmp(buf1->data, buf2->data, buf1->used) == 0;
}
+
+void buffer_verify_pool(buffer_t *_buf)
+{
+ const struct real_buffer *buf = (const struct real_buffer *)_buf;
+ void *ret;
+
+ if (buf->pool->datastack_pool) {
+ /* this doesn't really do anything except verify the
+ stack frame */
+ ret = p_realloc(buf->pool, buf->w_buffer,
+ buf->alloc, buf->alloc);
+ i_assert(ret == buf->w_buffer);
+ }
+}
diff -r abcc9959b757 -r 9fda4feb6e2d src/lib/buffer.h
--- a/src/lib/buffer.h Thu Jan 03 07:30:54 2013 +0200
+++ b/src/lib/buffer.h Fri Jan 04 03:50:18 2013 +0200
@@ -102,4 +102,10 @@
return buf->used;
}
+/* Crash if buffer was allocated from data stack and stack frame has changed.
+ This can be used as an assert-like check to verify that it's valid to
+ increase the buffer size here, instead of crashing only randomly when the
+ buffer needs to be increased. */
+void buffer_verify_pool(buffer_t *buf);
+
#endif
More information about the dovecot-cvs
mailing list