]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
istream-concat: Avoid assert-crashing.
authorTimo Sirainen <tss@iki.fi>
Wed, 20 Oct 2010 17:49:07 +0000 (18:49 +0100)
committerTimo Sirainen <tss@iki.fi>
Wed, 20 Oct 2010 17:49:07 +0000 (18:49 +0100)
src/lib/istream-concat.c

index 40a0c71aec0e3f7b69ff1d1aa99b89db158fa95c..49bafa279c2d1c828d7ee0b2e650ed3726cac7c0 100644 (file)
@@ -70,9 +70,12 @@ static void i_stream_concat_read_next(struct concat_istream *cstream)
        /* we already verified that the data size is less than the
           maximum buffer size */
        cstream->istream.pos = 0;
-       if (!i_stream_get_buffer_space(&cstream->istream, data_size, &size))
-               i_unreached();
-       i_assert(size >= data_size);
+       if (data_size > 0) {
+               if (!i_stream_get_buffer_space(&cstream->istream,
+                                              data_size, &size))
+                       i_unreached();
+               i_assert(size >= data_size);
+       }
 
        cstream->prev_stream_left = data_size;
        memcpy(cstream->istream.w_buffer, data, data_size);