From: Aki Tuomi Date: Fri, 6 Oct 2017 06:02:49 +0000 (+0300) Subject: ostream-multiplex: Check flush return value X-Git-Tag: 2.3.0.rc1~852 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e68657155192bc780043c51102903a5590a13b0;p=thirdparty%2Fdovecot%2Fcore.git ostream-multiplex: Check flush return value --- diff --git a/src/lib/ostream-multiplex.c b/src/lib/ostream-multiplex.c index afc00f7261..fe613f2847 100644 --- a/src/lib/ostream-multiplex.c +++ b/src/lib/ostream-multiplex.c @@ -68,7 +68,7 @@ static ssize_t o_stream_multiplex_sendv(struct multiplex_ostream *mstream) { struct multiplex_ochannel *channel; - ssize_t ret = 0; + ssize_t ret = 0, ret2; if (mstream->bufsize <= mstream->wbuf->used + 5) return -2; @@ -93,7 +93,10 @@ o_stream_multiplex_sendv(struct multiplex_ostream *mstream) propagate_error(mstream, mstream->parent->stream_errno); return ret; } - o_stream_flush(mstream->parent); + if ((ret2 = o_stream_flush(mstream->parent)) < 0) { + propagate_error(mstream, mstream->parent->stream_errno); + return ret2; + } buffer_delete(mstream->wbuf, 0, ret); } return ret;