]> 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)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 2 Nov 2021 10:43:28 +0000 (10:43 +0000)
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 c44c31265f9f4bdf80805da4101f7cd8772dda47..6920c533902784bec77e9f17a10f80f791d43ed3 100644 (file)
@@ -614,6 +614,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);