From 9fdc06d7931df357711a7001755135c371bad42a Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Wed, 17 Aug 2011 13:04:52 +0200 Subject: [PATCH] Fixed rare crash in pingTimeout when backend was disconnect --- src/networkpluginserver.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index f3dc2310..7d09db73 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -664,15 +664,19 @@ void NetworkPluginServer::pingTimeout() { } else { LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << ". PING response not received."); - (*it)->connection->disconnect(); - (*it)->connection.reset(); + if ((*it)->connection) { + (*it)->connection->disconnect(); + (*it)->connection.reset(); + } // handleSessionFinished((*it)); } if ((*it)->users.size() == 0) { LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << ". There are no users."); -// (*it)->connection->disconnect(); - (*it)->connection.reset(); + if ((*it)->connection) { + (*it)->connection->disconnect(); + (*it)->connection.reset(); + } } } m_pingTimer->start();