From f8badeda72813ee4d32e7672c4a98373cb7b5d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Fri, 4 Dec 2020 12:01:03 +0100 Subject: QSslSocket: Don't call 'transmit' in unencrypted mode At the same time I'll add a generic protection against being called in unprotected mode in the schannel backend (openssl already has it in a different form). Pick-to: 5.15 6.0 Change-Id: I97c1be6239c27e306de0af7ad568fbcfde09da71 Reviewed-by: Timur Pocheptsov --- src/network/ssl/qsslsocket.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/network/ssl/qsslsocket.cpp') diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index c5444b139e..a7c6b16b19 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -2326,7 +2326,7 @@ void QSslSocketPrivate::_q_errorSlot(QAbstractSocket::SocketError error) qCDebug(lcSsl) << "\terrorString =" << q->errorString(); #endif // this moves encrypted bytes from plain socket into our buffer - if (plainSocket->bytesAvailable()) { + if (plainSocket->bytesAvailable() && mode != QSslSocket::UnencryptedMode) { qint64 tmpReadBufferMaxSize = readBufferMaxSize; readBufferMaxSize = 0; // reset temporarily so the plain sockets completely drained drained transmit(); -- cgit v1.2.3