From: Timo Sirainen Date: Thu, 8 Feb 2018 00:26:23 +0000 (+0200) Subject: lib-ssl-iostream: Assert-crash if input stream has IO already set X-Git-Tag: 2.3.9~2343 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d3ce8bae67c6a73c4d068fbb3d59a5a990c9acd9;p=thirdparty%2Fdovecot%2Fcore.git lib-ssl-iostream: Assert-crash if input stream has IO already set --- diff --git a/src/lib-ssl-iostream/iostream-openssl.c b/src/lib-ssl-iostream/iostream-openssl.c index 27a0f3c38b..8dd0541af8 100644 --- a/src/lib-ssl-iostream/iostream-openssl.c +++ b/src/lib-ssl-iostream/iostream-openssl.c @@ -254,6 +254,10 @@ openssl_iostream_create(struct ssl_iostream_context *ctx, const char *host, SSL *ssl; BIO *bio_int, *bio_ext; + /* Don't allow an existing io_add_istream() to be use on the input. + It would seem to work, but it would also cause hangs. */ + i_assert(i_stream_get_root_io(*input)->real_stream->io == NULL); + ssl = SSL_new(ctx->ssl_ctx); if (ssl == NULL) { *error_r = t_strdup_printf("SSL_new() failed: %s",