From: Timo Sirainen Date: Fri, 12 Feb 2010 21:29:31 +0000 (+0200) Subject: i_stream_grow_buffer(): Never shrink the buffer. X-Git-Tag: 2.0.beta3~107 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7d5d50dd9a8c2539d7025a69e39d34fca56daeaf;p=thirdparty%2Fdovecot%2Fcore.git i_stream_grow_buffer(): Never shrink the buffer. --HG-- branch : HEAD --- diff --git a/src/lib/istream.c b/src/lib/istream.c index f5972f4e9f..1d93c23583 100644 --- a/src/lib/istream.c +++ b/src/lib/istream.c @@ -432,8 +432,13 @@ void i_stream_grow_buffer(struct istream_private *stream, size_t bytes) stream->buffer_size > stream->max_buffer_size) stream->buffer_size = stream->max_buffer_size; - stream->buffer = stream->w_buffer = - i_realloc(stream->w_buffer, old_size, stream->buffer_size); + if (stream->buffer_size <= old_size) + stream->buffer_size = old_size; + else { + stream->w_buffer = i_realloc(stream->w_buffer, old_size, + stream->buffer_size); + stream->buffer = stream->w_buffer; + } } bool i_stream_get_buffer_space(struct istream_private *stream,