aboutsummaryrefslogtreecommitdiffstats
path: root/common/rdr/TLSInStream.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'common/rdr/TLSInStream.cxx')
-rw-r--r--common/rdr/TLSInStream.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/common/rdr/TLSInStream.cxx b/common/rdr/TLSInStream.cxx
index 77b16729..8cd07b6c 100644
--- a/common/rdr/TLSInStream.cxx
+++ b/common/rdr/TLSInStream.cxx
@@ -109,9 +109,11 @@ int TLSInStream::readTLS(U8* buf, int len, bool wait)
{
int n;
- n = in->check(1, 1, wait);
- if (n == 0)
- return 0;
+ if (gnutls_record_check_pending(session) == 0) {
+ n = in->check(1, 1, wait);
+ if (n == 0)
+ return 0;
+ }
n = gnutls_record_recv(session, (void *) buf, len);
if (n == GNUTLS_E_INTERRUPTED || n == GNUTLS_E_AGAIN)