aboutsummaryrefslogtreecommitdiff
path: root/src/server/QXmppIncomingClient.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@wifirst.fr>2012-06-07 16:20:23 +0200
committerJeremy Lainé <jeremy.laine@wifirst.fr>2012-06-07 16:20:23 +0200
commit193975d6cbb315d6a6da8a5596fc859570c81868 (patch)
tree30c6ed11ef6c672e5347954a90486345be206312 /src/server/QXmppIncomingClient.cpp
parent875bc27088fb6016bb5bf18f7b8672b20505051a (diff)
downloadqxmpp-193975d6cbb315d6a6da8a5596fc859570c81868.tar.gz
protect against null socket
Diffstat (limited to 'src/server/QXmppIncomingClient.cpp')
-rw-r--r--src/server/QXmppIncomingClient.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp
index 082531f6..ce6beec4 100644
--- a/src/server/QXmppIncomingClient.cpp
+++ b/src/server/QXmppIncomingClient.cpp
@@ -68,7 +68,11 @@ QXmppIncomingClientPrivate::QXmppIncomingClientPrivate(QXmppIncomingClient *qq)
QString QXmppIncomingClientPrivate::origin() const
{
- return q->socket()->peerAddress().toString() + " " + QString::number(q->socket()->peerPort());
+ QSslSocket *socket = q->socket();
+ if (socket)
+ return socket->peerAddress().toString() + " " + QString::number(socket->peerPort());
+ else
+ return "<unknown>";
}
/// Constructs a new incoming client stream.
@@ -87,11 +91,13 @@ QXmppIncomingClient::QXmppIncomingClient(QSslSocket *socket, const QString &doma
d = new QXmppIncomingClientPrivate(this);
d->domain = domain;
- check = connect(socket, SIGNAL(disconnected()),
- this, SLOT(onSocketDisconnected()));
- Q_ASSERT(check);
+ if (socket) {
+ check = connect(socket, SIGNAL(disconnected()),
+ this, SLOT(onSocketDisconnected()));
+ Q_ASSERT(check);
- setSocket(socket);
+ setSocket(socket);
+ }
info(QString("Incoming client connection from %1").arg(d->origin()));