From 6dc9dcd49da72be2cbb85a38074559a97f0889f4 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Tue, 23 Jul 2013 12:17:50 +0000 Subject: [PATCH] Fixed some memory leaks in RsGxsNetService. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6534 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- libretroshare/src/gxs/rsgxsnetservice.cc | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 8da8ca7d1..ef44e2c6d 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -541,10 +541,10 @@ RsSerialiser *RsGxsNetService::setupSerialiser() void RsGxsNetService::recvNxsItemQueue(){ - RsItem *item ; + RsItem *item ; - while(NULL != (item=recvItem())) - { + while(NULL != (item=recvItem())) + { #ifdef NXS_NET_DEBUG std::cerr << "RsGxsNetService Item:" << (void*)item << std::endl ; #endif @@ -553,7 +553,6 @@ void RsGxsNetService::recvNxsItemQueue(){ RsNxsItem *ni = dynamic_cast(item) ; if(ni != NULL) { - // a live transaction has a non zero value if(ni->transactionNumber != 0){ @@ -563,7 +562,7 @@ void RsGxsNetService::recvNxsItemQueue(){ #endif if(handleTransaction(ni)) - continue ; + continue ; } @@ -576,7 +575,12 @@ void RsGxsNetService::recvNxsItemQueue(){ } delete item ; } - } + else + { + std::cerr << "Not a RsNxsItem, deleting!" << std::endl; + delete(item); + } + } } @@ -1881,6 +1885,7 @@ void RsGxsNetService::handleRecvSyncMessage(RsNxsSyncMsg* item) if(req.empty()) { + delete(grpMeta); return; } @@ -1905,7 +1910,6 @@ void RsGxsNetService::handleRecvSyncMessage(RsNxsSyncMsg* item) mItem->PeerId(peer); mItem->transactionNumber = transN; itemL.push_back(mItem); - } if(!itemL.empty()) @@ -1917,7 +1921,7 @@ void RsGxsNetService::handleRecvSyncMessage(RsNxsSyncMsg* item) for(vit = msgMetas.begin(); vit != msgMetas.end(); vit++) delete *vit; - return; + delete(grpMeta); } void RsGxsNetService::locked_pushMsgRespFromList(std::list& itemL, const std::string& sslId,