dovecot-2.0: i_stream_grow_buffer(): Never shrink the buffer.

dovecot at dovecot.org dovecot at dovecot.org
Fri Feb 12 23:29:38 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/fe70069debcb
changeset: 10691:fe70069debcb
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Feb 12 23:29:31 2010 +0200
description:
i_stream_grow_buffer(): Never shrink the buffer.

diffstat:

1 file changed, 7 insertions(+), 2 deletions(-)
src/lib/istream.c |    9 +++++++--

diffs (19 lines):

diff -r b7c8221cea5b -r fe70069debcb src/lib/istream.c
--- a/src/lib/istream.c	Fri Feb 12 23:27:16 2010 +0200
+++ b/src/lib/istream.c	Fri Feb 12 23:29:31 2010 +0200
@@ -432,8 +432,13 @@ void i_stream_grow_buffer(struct istream
 	    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,


More information about the dovecot-cvs mailing list