From: Robert Pluim Date: Thu, 25 Feb 2021 15:36:56 +0000 (+0100) Subject: Don't crash if gnutls_handshake fails X-Git-Tag: emacs-28.0.90~3547 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d84d69dfbc5f64e9020ce38d2cbd60fe39cb27b9;p=emacs.git Don't crash if gnutls_handshake fails In some situations involving Internet access not being fully functional, gnutls_handshake returns a fatal error, which we were ignoring, causing us to call gnutls_handshake again. Now we check for the error and return it to the caller. * src/gnutls.c (gnutls_try_handshake): Return immediately if gnutls_handshake returns a fatal error (Bug#46709). --- diff --git a/src/gnutls.c b/src/gnutls.c index aa245ee5c39..4d5a909db0d 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -625,6 +625,8 @@ gnutls_try_handshake (struct Lisp_Process *proc) while ((ret = gnutls_handshake (state)) < 0) { + if (gnutls_error_is_fatal (ret)) + return emacs_gnutls_handle_error (state, ret); do ret = gnutls_handshake (state); while (ret == GNUTLS_E_INTERRUPTED);