mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-20 05:14:25 -05:00
added a few malloc gards
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1444 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
7b9e56ced7
commit
65e1c17dbd
@ -347,7 +347,9 @@ void p3turtle::locked_closeTunnel(TurtleTunnelId tid)
|
|||||||
std::cerr << "p3turtle: was asked to close tunnel " << (void*)tid << ", which actually doesn't exist." << std::endl ;
|
std::cerr << "p3turtle: was asked to close tunnel " << (void*)tid << ", which actually doesn't exist." << std::endl ;
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "p3turtle: Closing tunnel " << (void*)tid << std::endl ;
|
std::cerr << "p3turtle: Closing tunnel " << (void*)tid << std::endl ;
|
||||||
|
#endif
|
||||||
|
|
||||||
if(it->second.local_src == mConnMgr->getOwnId()) // this is a starting tunnel. We thus remove
|
if(it->second.local_src == mConnMgr->getOwnId()) // this is a starting tunnel. We thus remove
|
||||||
// - the virtual peer from the vpid list
|
// - the virtual peer from the vpid list
|
||||||
@ -735,7 +737,9 @@ void p3turtle::handleRecvFileRequest(RsTurtleFileRequestItem *item)
|
|||||||
|
|
||||||
if(it == _local_tunnels.end())
|
if(it == _local_tunnels.end())
|
||||||
{
|
{
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "p3turtle: got file request with unknown tunnel id " << (void*)item->tunnel_id << std::endl ;
|
std::cerr << "p3turtle: got file request with unknown tunnel id " << (void*)item->tunnel_id << std::endl ;
|
||||||
|
#endif
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -797,7 +801,9 @@ void p3turtle::handleRecvFileData(RsTurtleFileDataItem *item)
|
|||||||
|
|
||||||
if(it == _local_tunnels.end())
|
if(it == _local_tunnels.end())
|
||||||
{
|
{
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "p3turtle: got file data with unknown tunnel id " << (void*)item->tunnel_id << std::endl ;
|
std::cerr << "p3turtle: got file data with unknown tunnel id " << (void*)item->tunnel_id << std::endl ;
|
||||||
|
#endif
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -843,6 +849,12 @@ void p3turtle::handleRecvFileData(RsTurtleFileDataItem *item)
|
|||||||
*res_item = *item ;
|
*res_item = *item ;
|
||||||
|
|
||||||
res_item->chunk_data = malloc(res_item->chunk_size) ;
|
res_item->chunk_data = malloc(res_item->chunk_size) ;
|
||||||
|
|
||||||
|
if(res_item->chunk_data == NULL)
|
||||||
|
{
|
||||||
|
std::cerr << "p3turtle: Warning: failed malloc of " << res_item->chunk_size << " bytes for received data packet." << std::endl ;
|
||||||
|
return ;
|
||||||
|
}
|
||||||
memcpy(res_item->chunk_data,item->chunk_data,res_item->chunk_size) ;
|
memcpy(res_item->chunk_data,item->chunk_data,res_item->chunk_size) ;
|
||||||
|
|
||||||
res_item->PeerId(tunnel.local_src) ;
|
res_item->PeerId(tunnel.local_src) ;
|
||||||
@ -866,7 +878,9 @@ void p3turtle::sendDataRequest(const std::string& peerId, const std::string& has
|
|||||||
|
|
||||||
if(it == _virtual_peers.end())
|
if(it == _virtual_peers.end())
|
||||||
{
|
{
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "p3turtle::senddataRequest: cannot find virtual peer " << peerId << " in VP list." << std::endl ;
|
std::cerr << "p3turtle::senddataRequest: cannot find virtual peer " << peerId << " in VP list." << std::endl ;
|
||||||
|
#endif
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
TurtleTunnelId tunnel_id = it->second ;
|
TurtleTunnelId tunnel_id = it->second ;
|
||||||
@ -899,7 +913,9 @@ void p3turtle::sendFileData(const std::string& peerId, const std::string& hash,
|
|||||||
|
|
||||||
if(it == _virtual_peers.end())
|
if(it == _virtual_peers.end())
|
||||||
{
|
{
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "p3turtle::sendData: cannot find virtual peer " << peerId << " in VP list." << std::endl ;
|
std::cerr << "p3turtle::sendData: cannot find virtual peer " << peerId << " in VP list." << std::endl ;
|
||||||
|
#endif
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
TurtleTunnelId tunnel_id = it->second ;
|
TurtleTunnelId tunnel_id = it->second ;
|
||||||
@ -914,6 +930,12 @@ void p3turtle::sendFileData(const std::string& peerId, const std::string& hash,
|
|||||||
item->chunk_offset = offset ;
|
item->chunk_offset = offset ;
|
||||||
item->chunk_size = chunksize ;
|
item->chunk_size = chunksize ;
|
||||||
item->chunk_data = malloc(chunksize) ;
|
item->chunk_data = malloc(chunksize) ;
|
||||||
|
|
||||||
|
if(item->chunk_data == NULL)
|
||||||
|
{
|
||||||
|
std::cerr << "p3turtle: Warning: failed malloc of " << chunksize << " bytes for sending data packet." << std::endl ;
|
||||||
|
return ;
|
||||||
|
}
|
||||||
memcpy(item->chunk_data,(void*)((uint8_t*)data),chunksize) ;
|
memcpy(item->chunk_data,(void*)((uint8_t*)data),chunksize) ;
|
||||||
item->PeerId(tunnel.local_src) ;
|
item->PeerId(tunnel.local_src) ;
|
||||||
|
|
||||||
@ -930,7 +952,9 @@ bool p3turtle::search(std::string hash, uint64_t, uint32_t hintflags, FileInfo &
|
|||||||
|
|
||||||
RsStackMutex stack(mTurtleMtx); /********** STACK LOCKED MTX ******/
|
RsStackMutex stack(mTurtleMtx); /********** STACK LOCKED MTX ******/
|
||||||
|
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "p3turtle: received file search request for hash " << hash << "." << std::endl ;
|
std::cerr << "p3turtle: received file search request for hash " << hash << "." << std::endl ;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::map<TurtleFileHash,TurtleFileHashInfo>::const_iterator it = _incoming_file_hashes.find(hash) ;
|
std::map<TurtleFileHash,TurtleFileHashInfo>::const_iterator it = _incoming_file_hashes.find(hash) ;
|
||||||
|
|
||||||
@ -1188,7 +1212,11 @@ void p3turtle::handleTunnelResult(RsTurtleTunnelOkItem *item)
|
|||||||
TurtleTunnel& tunnel(_local_tunnels[item->tunnel_id]) ;
|
TurtleTunnel& tunnel(_local_tunnels[item->tunnel_id]) ;
|
||||||
|
|
||||||
if(found)
|
if(found)
|
||||||
|
{
|
||||||
|
#ifdef P3TURTLE_DEBUG
|
||||||
std::cerr << "Tunnel id " << (void*)item->tunnel_id << " is already there. Not storing." << std::endl ;
|
std::cerr << "Tunnel id " << (void*)item->tunnel_id << " is already there. Not storing." << std::endl ;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tunnel.local_src = it->second.origin ;
|
tunnel.local_src = it->second.origin ;
|
||||||
@ -1358,15 +1386,6 @@ void p3turtle::monitorFileTunnels(const std::string& name,const std::string& fil
|
|||||||
_incoming_file_hashes[file_hash].time_stamp = time(NULL) ;
|
_incoming_file_hashes[file_hash].time_stamp = time(NULL) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TO_REMOVE
|
|
||||||
std::list<std::string> srcIds ;
|
|
||||||
|
|
||||||
#ifdef P3TURTLE_DEBUG
|
|
||||||
std::cerr << "p3turtle: Calling ft server to handle the dl" << std::endl ;
|
|
||||||
#endif
|
|
||||||
_ft_server->FileRequest(name,file_hash, size, "", 0, srcIds) ;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
IndicateConfigChanged() ; // initiates saving of handled hashes.
|
IndicateConfigChanged() ; // initiates saving of handled hashes.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user