diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 15:17:40 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 15:17:40 +0200 |
| commit | af70dc7b68f276c739f51b04b3da652bb5537db5 (patch) | |
| tree | 76d8f22e59ad6f1815b155bf853820c1c74751be /src/server/QXmppIncomingClient.cpp | |
| parent | ccb335ee65553022f70996eaffe6bd43d3de2dc0 (diff) | |
guard against crash
Diffstat (limited to 'src/server/QXmppIncomingClient.cpp')
| -rw-r--r-- | src/server/QXmppIncomingClient.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp index 1b22ac3c..fd6fce18 100644 --- a/src/server/QXmppIncomingClient.cpp +++ b/src/server/QXmppIncomingClient.cpp @@ -273,6 +273,13 @@ void QXmppIncomingClient::handleStanza(const QDomElement &nodeRecv) QXmppSaslResponse response; response.parse(nodeRecv); + if (!d->saslServer) { + warning("SASL response received, but no mechanism selected"); + sendPacket(QXmppSaslFailure()); + disconnectFromHost(); + return; + } + QByteArray challenge; QXmppSaslServer::Response result = d->saslServer->respond(response.value(), challenge); if (result == QXmppSaslServer::InputNeeded) { |
