aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2018-12-03 12:19:51 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2018-12-03 12:20:07 +0100
commit39e0bbaccaa8b0079d7ff32b0b1f1a289d23eb33 (patch)
treef3ab5f20a43f45098f16bcf0ec568d6f2bec011b
parentb4ea7b5211cb3fcf515bd64be5c5c59691236ad1 (diff)
radioInterface: Fix memleak during close()
destructors of pointers created through "new" must be destroyed manually through "delete". Change-Id: I10d37579f16bec89cc762f200a8951218305c708
-rw-r--r--Transceiver52M/radioInterface.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp
index 6245cfc..f488b0d 100644
--- a/Transceiver52M/radioInterface.cpp
+++ b/Transceiver52M/radioInterface.cpp
@@ -75,6 +75,14 @@ bool RadioInterface::init(int type)
void RadioInterface::close()
{
+ for (std::vector<RadioBuffer*>::iterator it = sendBuffer.begin(); it != sendBuffer.end(); ++it)
+ delete *it;
+ for (std::vector<RadioBuffer*>::iterator it = recvBuffer.begin(); it != recvBuffer.end(); ++it)
+ delete *it;
+ for (std::vector<short*>::iterator it = convertSendBuffer.begin(); it != convertSendBuffer.end(); ++it)
+ delete[] *it;
+ for (std::vector<short*>::iterator it = convertRecvBuffer.begin(); it != convertRecvBuffer.end(); ++it)
+ delete[] *it;
sendBuffer.resize(0);
recvBuffer.resize(0);
convertSendBuffer.resize(0);