fix various valgrind reports;

pull/63/head
Bryan Biedenkapp 2 years ago
parent 22d13e4c77
commit 47d89febdf

@ -134,7 +134,7 @@ bool FrameQueue::write(const uint8_t* message, uint32_t length, uint32_t streamI
ret = false;
}
delete buffer;
delete[] buffer;
return ret;
}

@ -162,7 +162,7 @@ void RawFrameQueue::deleteBuffers()
if (buffer != nullptr) {
// LogDebug(LOG_NET, "deleting buffer, addr %p len %u", buffer->buffer, buffer->length);
if (buffer->buffer != nullptr) {
delete buffer->buffer;
delete[] buffer->buffer;
buffer->length = 0;
buffer->buffer = nullptr;
}

@ -58,7 +58,12 @@ LC::LC(const LC& data) : LC()
LC::LC(const lc::LC& control, const data::LowSpeedData& lsd) : LC()
{
if (m_control != nullptr)
delete m_control;
m_control = new lc::LC(control);
if (m_lsd != nullptr)
delete m_lsd;
m_lsd = new data::LowSpeedData(lsd);
}
@ -66,16 +71,13 @@ LC::LC(const lc::LC& control, const data::LowSpeedData& lsd) : LC()
LC::~LC()
{
if (m_control != nullptr) {
if (m_control != nullptr)
delete m_control;
}
if (m_lsd != nullptr) {
if (m_lsd != nullptr)
delete m_lsd;
}
delete[] m_mi;
if (m_rsBuffer != nullptr) {
if (m_rsBuffer != nullptr)
delete[] m_rsBuffer;
}
}
/* Equals operator. */
@ -113,18 +115,16 @@ bool LC::decodeLDU1(const uint8_t* data, uint8_t* imbe)
{
case DFSIFrameType::LDU1_VOICE1:
{
if (m_control != nullptr) {
if (m_control != nullptr)
delete m_control;
}
m_control = new lc::LC();
if (m_lsd != nullptr) {
m_lsd = new data::LowSpeedData();
}
if (m_lsd != nullptr)
delete m_lsd;
m_lsd = new data::LowSpeedData();
if (m_rsBuffer != nullptr) {
delete m_rsBuffer;
}
if (m_rsBuffer != nullptr)
delete[] m_rsBuffer;
m_rsBuffer = new uint8_t[P25_LDU_LC_FEC_LENGTH_BYTES];
::memset(m_rsBuffer, 0x00U, P25_LDU_LC_FEC_LENGTH_BYTES);
@ -424,9 +424,8 @@ bool LC::decodeLDU2(const uint8_t* data, uint8_t* imbe)
case DFSIFrameType::LDU2_VOICE10:
{
::memset(m_mi, 0x00U, MI_LENGTH_BYTES);
if (m_lsd != nullptr) {
if (m_lsd != nullptr)
delete m_lsd;
}
m_lsd = new data::LowSpeedData();
m_rssi = data[6U]; // RSSI
@ -661,7 +660,11 @@ void LC::copy(const LC& data)
m_rssi = data.m_rssi;
if (m_control != nullptr)
delete m_control;
m_control = new lc::LC(*data.m_control);
if (m_lsd != nullptr)
delete m_lsd;
m_lsd = new data::LowSpeedData(*data.m_lsd);
delete[] m_mi;

@ -360,6 +360,8 @@ bool LC::decodeLDU2(const uint8_t* data)
m_algId = rs[9U]; // Algorithm ID
if (m_algId != ALGO_UNENCRYPT) {
if (m_mi != nullptr)
delete[] m_mi;
m_mi = new uint8_t[MI_LENGTH_BYTES];
::memset(m_mi, 0x00U, MI_LENGTH_BYTES);
::memcpy(m_mi, rs, MI_LENGTH_BYTES); // Message Indicator
@ -371,6 +373,8 @@ bool LC::decodeLDU2(const uint8_t* data)
}
}
else {
if (m_mi != nullptr)
delete[] m_mi;
m_mi = new uint8_t[MI_LENGTH_BYTES];
::memset(m_mi, 0x00U, MI_LENGTH_BYTES);

@ -84,6 +84,7 @@ void DiagNetwork::processNetwork()
::memcpy(req->buffer, buffer.get(), length);
if (!Thread::runAsThread(m_fneNetwork, threadedNetworkRx, req)) {
delete[] req->buffer;
delete req;
return;
}
@ -310,7 +311,7 @@ void* DiagNetwork::threadedNetworkRx(void* arg)
}
if (req->buffer != nullptr)
delete req->buffer;
delete[] req->buffer;
delete req;
}

@ -241,6 +241,7 @@ void FNENetwork::processNetwork()
::memcpy(req->buffer, buffer.get(), length);
if (!Thread::runAsThread(this, threadedNetworkRx, req)) {
delete[] req->buffer;
delete req;
return;
}
@ -1170,7 +1171,7 @@ void* FNENetwork::threadedNetworkRx(void* arg)
}
if (req->buffer != nullptr)
delete req->buffer;
delete[] req->buffer;
delete req;
}

@ -50,7 +50,10 @@ TagDMRData::TagDMRData(FNENetwork* network, bool debug) :
/* Finalizes a instance of the TagDMRData class. */
TagDMRData::~TagDMRData() = default;
TagDMRData::~TagDMRData()
{
delete m_packetData;
}
/* Process a data frame from the network. */
@ -203,7 +206,7 @@ bool TagDMRData::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId
if (m_parrotFrames.size() > 0) {
for (auto& pkt : m_parrotFrames) {
if (pkt.buffer != nullptr) {
delete pkt.buffer;
delete[] pkt.buffer;
}
}
m_parrotFrames.clear();
@ -410,7 +413,7 @@ void TagDMRData::playbackParrot()
}
}
delete pkt.buffer;
delete[] pkt.buffer;
}
Thread::sleep(60);
m_parrotFrames.pop_front();

@ -166,7 +166,7 @@ bool TagNXDNData::processFrame(const uint8_t* data, uint32_t len, uint32_t peerI
if (m_parrotFrames.size() > 0) {
for (auto& pkt : m_parrotFrames) {
if (pkt.buffer != nullptr) {
delete pkt.buffer;
delete[] pkt.buffer;
}
}
m_parrotFrames.clear();
@ -366,7 +366,7 @@ void TagNXDNData::playbackParrot()
}
}
delete pkt.buffer;
delete[] pkt.buffer;
}
Thread::sleep(60);
m_parrotFrames.pop_front();

@ -237,7 +237,7 @@ bool TagP25Data::processFrame(const uint8_t* data, uint32_t len, uint32_t peerId
if (m_parrotFrames.size() > 0) {
for (auto& pkt : m_parrotFrames) {
if (pkt.buffer != nullptr) {
delete pkt.buffer;
delete[] pkt.buffer;
}
}
m_parrotFrames.clear();
@ -492,7 +492,7 @@ void TagP25Data::playbackParrot()
}
}
delete pkt.buffer;
delete[] pkt.buffer;
}
Thread::sleep(180);
m_parrotFrames.pop_front();

@ -161,6 +161,13 @@ Control::~Control()
if (m_data != nullptr) {
delete m_data;
}
if (m_llaK != nullptr) {
delete[] m_llaK;
}
delete[] m_llaRS;
delete[] m_llaCRS;
delete[] m_llaKS;
}
/* Resets the data states for the RF interface. */

Loading…
Cancel
Save

Powered by TurnKey Linux.