]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-ssl-iostream: Close the plain iostreams when ssl-iostream is destroyed.
authorTimo Sirainen <tss@iki.fi>
Fri, 14 Nov 2014 22:27:27 +0000 (00:27 +0200)
committerTimo Sirainen <tss@iki.fi>
Fri, 14 Nov 2014 22:27:27 +0000 (00:27 +0200)
src/lib-ssl-iostream/iostream-openssl.c

index dcef1661be3e1154a9c9f1813d9b2db034522d24..32156994a5c8f2b59c510567cd07a1d6551ec571 100644 (file)
@@ -294,6 +294,10 @@ static void openssl_iostream_destroy(struct ssl_iostream *ssl_io)
        (void)SSL_shutdown(ssl_io->ssl);
        (void)openssl_iostream_more(ssl_io);
        (void)o_stream_flush(ssl_io->plain_output);
+       /* close the plain i/o streams, because their fd may be closed soon,
+          but we may still keep this ssl-iostream referenced until later. */
+       i_stream_close(ssl_io->plain_input);
+       o_stream_close(ssl_io->plain_output);
 
        ssl_iostream_unref(&ssl_io);
 }