Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6537:58d9f94b9919 HEAD
message_header_decode(): Don't use t_push/t_pop. The callback may want to
write to a buffer in data stack.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 06 Oct 2007 03:17:13 +0300 |
parents | 2a2fd5c3b42e |
children | 1b7d91f7b151 |
files | src/lib-mail/message-header-decode.c |
diffstat | 1 files changed, 3 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ 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 @@ } 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)callback(data + start_pos, size - start_pos, NULL, context); } - t_pop(); + buffer_free(&decodebuf); } struct decode_utf8_context {