From 83f2ee4c957124ef2e17dc1f044dc12a6656317f Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sat, 7 Feb 2015 10:09:48 +0000 Subject: [PATCH] Fixed possible crash in the handle methods of RsGxsNetService when the dynamic cast of a received item fails. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7922 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- libretroshare/src/gxs/rsgxsnetservice.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index bd64dd342..a3f2b3152 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -2606,6 +2606,8 @@ bool RsGxsNetService::locked_CanReceiveUpdate(const RsNxsSyncGrp *item) void RsGxsNetService::handleRecvSyncGroup(RsNxsSyncGrp* item) { + if (!item) + return; RS_STACK_MUTEX(mNxsMutex) ; @@ -2956,6 +2958,9 @@ bool RsGxsNetService::locked_CanReceiveUpdate(const RsNxsSyncMsg *item) } void RsGxsNetService::handleRecvSyncMessage(RsNxsSyncMsg* item) { + if (!item) + return; + RS_STACK_MUTEX(mNxsMutex) ; // We do that early, so as to get info about who sends data about which group, @@ -3366,6 +3371,10 @@ void RsGxsNetService::handleRecvPublishKeys(RsNxsGroupPublishKeyItem *item) #ifdef NXS_NET_DEBUG std::cerr << "RsGxsNetService::sharePublishKeys() " << std::endl; #endif + + if (!item) + return; + RS_STACK_MUTEX(mNxsMutex) ; #ifdef NXS_NET_DEBUG