]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-ssl-iostream: Fix assert-crash when OpenSSL returns syscall error without errno
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 27 Oct 2021 10:06:10 +0000 (12:06 +0200)
committerMarkus Valentin <markus.valentin@open-xchange.com>
Thu, 28 Oct 2021 10:24:37 +0000 (12:24 +0200)
Incomplete fix in f41874b3dec541478a85275698a91f089f537df2

Fixes:
Panic: file istream-openssl.c: line 51 (i_stream_ssl_read_real): assertion failed: (errno != 0)

src/lib-ssl-iostream/iostream-openssl.c

index 5d11526f110b253387ae99c4f9cbe0f60989faac..ffc524d4c18a2930d568e3a569ba63d5521f6fa8 100644 (file)
@@ -609,6 +609,7 @@ int openssl_iostream_handle_error(struct ssl_iostream *ssl_io, int ret,
                } else {
                        /* Seen this at least with v1.1.0l SSL_accept() */
                        errstr = "OpenSSL BUG: errno=0";
+                       errno = EINVAL;
                }
                errstr = t_strdup_printf("%s syscall failed: %s",
                                         func_name, errstr);