From: Timo Sirainen Date: Sat, 28 Jul 2012 16:33:14 +0000 (+0300) Subject: lib-charset: Removed unnecessary buffer size increases, which only caused out-of... X-Git-Tag: 2.1.9~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df27677ac493b127bb6017e20cd41fe86222c784;p=thirdparty%2Fdovecot%2Fcore.git lib-charset: Removed unnecessary buffer size increases, which only caused out-of-memory errors. --- diff --git a/src/lib-charset/charset-iconv.c b/src/lib-charset/charset-iconv.c index a41aa607a2..38b64bd56f 100644 --- a/src/lib-charset/charset-iconv.c +++ b/src/lib-charset/charset-iconv.c @@ -120,9 +120,8 @@ enum charset_result charset_to_utf8(struct charset_translation *t, const unsigned char *src, size_t *src_size, buffer_t *dest) { - bool dtcase = (t->flags & CHARSET_FLAG_DECOMP_TITLECASE) != 0; enum charset_result result; - size_t pos, used, size, prev_pos = 0, prev_used = 0; + size_t pos, size; size_t prev_invalid_pos = (size_t)-1; bool ret; @@ -141,16 +140,6 @@ charset_to_utf8(struct charset_translation *t, prev_invalid_pos = dest->used; } pos++; - } else if (!dtcase) { - /* force buffer to grow */ - used = dest->used; - size = buffer_get_size(dest) - used + 1; - (void)buffer_append_space_unsafe(dest, size); - buffer_set_used_size(dest, used); - } else { - i_assert(dest->used != prev_used || pos != prev_pos); - prev_pos = pos; - prev_used = dest->used; } }