Mercurial > dovecot > core-2.2
changeset 22599:569e7f438b90
ostream-multiplex: Check flush return value
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Fri, 06 Oct 2017 09:02:49 +0300 |
parents | 14262da623ba |
children | be272aa6e878 |
files | src/lib/ostream-multiplex.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/ostream-multiplex.c Fri Oct 06 08:55:33 2017 +0300 +++ b/src/lib/ostream-multiplex.c Fri Oct 06 09:02:49 2017 +0300 @@ -68,7 +68,7 @@ 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 @@ 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;