Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7357:7d4f7c7095dd HEAD
imap_quote(): Don't crash if allocating from data stack pool.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 06 Mar 2008 09:42:16 +0200 |
parents | 25551453b13c |
children | ffb7e8b1c114 |
files | src/lib-imap/imap-quote.c |
diffstat | 1 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-imap/imap-quote.c Thu Mar 06 02:08:44 2008 +0200 +++ b/src/lib-imap/imap-quote.c Thu Mar 06 09:42:16 2008 +0200 @@ -91,18 +91,20 @@ const char *imap_quote(pool_t pool, const unsigned char *value, size_t value_len) { + string_t *str; char *ret; if (value == NULL) return "NIL"; - T_BEGIN { - string_t *str; + if (!pool->datastack_pool) + t_push(); - str = t_str_new(value_len + MAX_INT_STRLEN + 5); - imap_quote_append(str, value, value_len, TRUE); - ret = p_strndup(pool, str_data(str), str_len(str)); - } T_END; + str = t_str_new(value_len + MAX_INT_STRLEN + 5); + imap_quote_append(str, value, value_len, TRUE); + ret = p_strndup(pool, str_data(str), str_len(str)); + if (!pool->datastack_pool) + t_pop(); return ret; }