From: Timo Sirainen Date: Mon, 5 Sep 2011 11:23:11 +0000 (+0300) Subject: lib-ssl-iostream: Avoid assert-crashing when remote disconnects during write. X-Git-Tag: 2.1.alpha2~70 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=148a8396be2c1cf7d2aaa55566f7f7dea05388dd;p=thirdparty%2Fdovecot%2Fcore.git lib-ssl-iostream: Avoid assert-crashing when remote disconnects during write. --- diff --git a/src/lib-ssl-iostream/iostream-openssl.c b/src/lib-ssl-iostream/iostream-openssl.c index 765bfdd6fc..27a1ca310f 100644 --- a/src/lib-ssl-iostream/iostream-openssl.c +++ b/src/lib-ssl-iostream/iostream-openssl.c @@ -264,6 +264,12 @@ static bool ssl_iostream_bio_output(struct ssl_iostream *ssl_io) i_assert(ret == (int)bytes); sent = o_stream_send(ssl_io->plain_output, buffer, bytes); + if (sent < 0) { + i_assert(ssl_io->plain_output->stream_errno != 0); + ssl_io->ssl_output->stream_errno = + ssl_io->plain_output->stream_errno; + break; + } i_assert(sent == (ssize_t)bytes); bytes_sent = TRUE; }