dovecot: message_header_decode(): Don't use t_push/t_pop. The ca...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Oct 6 03:17:17 EEST 2007
details: http://hg.dovecot.org/dovecot/rev/58d9f94b9919
changeset: 6537:58d9f94b9919
user: Timo Sirainen <tss at iki.fi>
date: Sat Oct 06 03:17:13 2007 +0300
description:
message_header_decode(): Don't use t_push/t_pop. The callback may want to
write to a buffer in data stack.
diffstat:
1 file changed, 3 insertions(+), 5 deletions(-)
src/lib-mail/message-header-decode.c | 8 +++-----
diffs (32 lines):
diff -r 2a2fd5c3b42e -r 58d9f94b9919 src/lib-mail/message-header-decode.c
--- a/src/lib-mail/message-header-decode.c Sat Oct 06 03:08:48 2007 +0300
+++ b/src/lib-mail/message-header-decode.c Sat Oct 06 03:17:13 2007 +0300
@@ -65,7 +65,6 @@ void message_header_decode(const unsigne
size_t pos, start_pos;
/* =?charset?Q|B?text?= */
- t_push();
start_pos = pos = 0;
for (pos = 0; pos + 1 < size; ) {
if (data[pos] != '=' || data[pos+1] != '?') {
@@ -84,9 +83,8 @@ void message_header_decode(const unsigne
}
if (decodebuf == NULL) {
- decodebuf =
- buffer_create_dynamic(pool_datastack_create(),
- size - pos);
+ decodebuf = buffer_create_dynamic(default_pool,
+ size - pos);
} else {
buffer_set_used_size(decodebuf, 0);
}
@@ -113,7 +111,7 @@ void message_header_decode(const unsigne
(void)callback(data + start_pos, size - start_pos,
NULL, context);
}
- t_pop();
+ buffer_free(&decodebuf);
}
struct decode_utf8_context {
More information about the dovecot-cvs
mailing list