From: Timo Sirainen Date: Tue, 14 Apr 2020 12:37:44 +0000 (+0300) Subject: lib: ostream-multiplex - o_stream_send*(): Return 0 if buffer is full, not -2 X-Git-Tag: 2.3.11.2~229 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=551f1b60035566b3b07f5d1fac523e5dcc5d2ee2;p=thirdparty%2Fdovecot%2Fcore.git lib: ostream-multiplex - o_stream_send*(): Return 0 if buffer is full, not -2 -2 is only for istreams. Fixes: Panic: file ostream.c: line 281 (o_stream_sendv_int): assertion failed: (stream->stream_errno != 0) --- diff --git a/src/lib/ostream-multiplex.c b/src/lib/ostream-multiplex.c index c43860c0a3..3f5bc0a9d5 100644 --- a/src/lib/ostream-multiplex.c +++ b/src/lib/ostream-multiplex.c @@ -98,7 +98,6 @@ o_stream_multiplex_sendv(struct multiplex_ostream *mstream) { channel->buf->data, amt } }; if ((ret = o_stream_sendv(mstream->parent, vec, N_ELEMENTS(vec))) < 0) { - i_assert(ret != -2); propagate_error(mstream, mstream->parent->stream_errno); break; } @@ -155,7 +154,7 @@ o_stream_multiplex_ochannel_sendv(struct ostream_private *stream, o_stream_multiplex_sendv(channel->mstream); avail = o_stream_get_buffer_avail_size(&stream->ostream); if (avail == 0) - return -2; + return 0; } total = 0;