summaryrefslogtreecommitdiffstats
path: root/src/network/ssl
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-21 14:07:10 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2016-06-21 14:07:10 +0000
commitb3100fbadda33fe013e3f1fba3623a63a6dccf47 (patch)
tree0fdd96d90d9c754959e532dfc42988167697eb68 /src/network/ssl
parent62b11af31ee090188d828707235d8678ee015e30 (diff)
parentea438b2508f329698e11c6dae6994d441c6e67df (diff)
Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/dev
Diffstat (limited to 'src/network/ssl')
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 35d7654730..aca7507d13 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -1191,6 +1191,11 @@ bool QSslSocketBackendPrivate::startHandshake()
#endif
if (!checkSslErrors())
return false;
+ // A slot, attached to sslErrors signal can call
+ // abort/close/disconnetFromHost/etc; no need to
+ // continue handshake then.
+ if (q->state() != QAbstractSocket::ConnectedState)
+ return false;
} else {
sslErrors.clear();
}