talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 3c126fdf4d1c959a32aac666c70924479b067f61
parent 41828b842604ac734bfba6c0669491d138c19c33
Author: Michael Rasmussen <mir@datanom.net>
Date:   Sun,  7 Jan 2024 15:32:08 +0100

Fix Bug #4728. Patch provided by Olaf Hering

Signed-off-by: Michael Rasmussen <mir@datanom.net>

Diffstat:
Msrc/common/socket.c | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/common/socket.c b/src/common/socket.c @@ -1256,6 +1256,7 @@ static gint ssl_read(gnutls_session_t ssl, gchar *buf, gint len) } while (1) { + errno = 0; r = gnutls_record_recv(ssl, buf, len); if (r > 0) return r; @@ -1273,7 +1274,10 @@ static gint ssl_read(gnutls_session_t ssl, gchar *buf, gint len) case GNUTLS_E_INTERRUPTED: errno = EAGAIN; return -1; - + case GNUTLS_E_PREMATURE_TERMINATION: + if (errno == 0) + return 0; + /* fall through */ default: debug_print("Unexpected TLS read result %d\n", r); errno = EIO;