From e6cc32d6af7749826807badd258224ec1bfa31ae Mon Sep 17 00:00:00 2001 From: Vivek Dasmohapatra Date: Thu, 23 Sep 2010 16:43:12 +0100 Subject: [PATCH] IMED_RET macro should not clear session hash data if we are returning EAGAIN GNUTLS_E_AGAIN implies we haven't finished the operation in question, and therefore should not be clearing the cached hash data. --- lib/gnutls_handshake.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c index 84e6773..6e397b2 100644 --- a/lib/gnutls_handshake.c +++ b/lib/gnutls_handshake.c @@ -2736,7 +2736,8 @@ gnutls_handshake (gnutls_session_t session) if (check_fatal != 0 && gnutls_error_is_fatal(ret)==0) return ret; \ gnutls_assert(); \ ERR( str, ret); \ - _gnutls_handshake_hash_buffers_clear(session); \ + if (ret != GNUTLS_E_AGAIN) \ + _gnutls_handshake_hash_buffers_clear(session); \ return ret; \ } } while (0) -- 1.7.0