emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master d84d69d 3/4: Don't crash if gnutls_handshake fails


From: Robert Pluim
Subject: master d84d69d 3/4: Don't crash if gnutls_handshake fails
Date: Thu, 25 Feb 2021 11:03:04 -0500 (EST)

branch: master
commit d84d69dfbc5f64e9020ce38d2cbd60fe39cb27b9
Author: Robert Pluim <rpluim@gmail.com>
Commit: Robert Pluim <rpluim@gmail.com>

    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).
---
 src/gnutls.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gnutls.c b/src/gnutls.c
index aa245ee..4d5a909 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);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]