diff options
| author | Jeremy Lainé <jeremy.laine@wifirst.fr> | 2012-06-07 16:20:23 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@wifirst.fr> | 2012-06-07 16:20:23 +0200 |
| commit | 193975d6cbb315d6a6da8a5596fc859570c81868 (patch) | |
| tree | 30c6ed11ef6c672e5347954a90486345be206312 /src/server/QXmppIncomingClient.cpp | |
| parent | 875bc27088fb6016bb5bf18f7b8672b20505051a (diff) | |
| download | qxmpp-193975d6cbb315d6a6da8a5596fc859570c81868.tar.gz | |
protect against null socket
Diffstat (limited to 'src/server/QXmppIncomingClient.cpp')
| -rw-r--r-- | src/server/QXmppIncomingClient.cpp | 16 |
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())); |
