correct possible buffer cleanup issues;

pull/86/head
Bryan Biedenkapp 11 months ago
parent 33d6c919d7
commit 1c85e35ba2

@ -85,7 +85,8 @@ void DiagNetwork::processNetwork()
::memcpy(req->buffer, buffer.get(), length);
if (!Thread::runAsThread(m_fneNetwork, threadedNetworkRx, req)) {
delete[] req->buffer;
if (req->buffer != nullptr)
delete[] req->buffer;
delete req;
return;
}
@ -156,10 +157,18 @@ void* DiagNetwork::threadedNetworkRx(void* arg)
FNENetwork* network = static_cast<FNENetwork*>(req->obj);
if (network == nullptr) {
delete req;
if (req != nullptr) {
if (req->buffer != nullptr)
delete[] req->buffer;
delete req;
}
return nullptr;
}
if (req == nullptr)
return nullptr;
if (req->length > 0) {
uint32_t peerId = req->fneHeader.getPeerId();

@ -464,10 +464,18 @@ void* FNENetwork::threadedNetworkRx(void* arg)
FNENetwork* network = static_cast<FNENetwork*>(req->obj);
if (network == nullptr) {
delete req;
if (req != nullptr) {
if (req->buffer != nullptr)
delete[] req->buffer;
delete req;
}
return nullptr;
}
if (req == nullptr)
return nullptr;
if (req->length > 0) {
uint32_t peerId = req->fneHeader.getPeerId();
uint32_t streamId = req->fneHeader.getStreamId();
@ -512,7 +520,7 @@ void* FNENetwork::threadedNetworkRx(void* arg)
LogError(LOG_NET, "PEER %u (%s) malformed packet (no stream ID for a call?)", peerId, peerIdentity.c_str());
if (req->buffer != nullptr)
delete req->buffer;
delete[] req->buffer;
delete req;
return nullptr;
@ -1726,10 +1734,14 @@ void* FNENetwork::threadedACLUpdate(void* arg)
FNENetwork* network = static_cast<FNENetwork*>(req->obj);
if (network == nullptr) {
delete req;
if (req != nullptr)
delete req;
return nullptr;
}
if (req == nullptr)
return nullptr;
std::string peerIdentity = network->resolvePeerIdentity(req->peerId);
FNEPeerConnection* connection = network->m_peers[req->peerId];

Loading…
Cancel
Save

Powered by TurnKey Linux.