avoid memory leak if called multiple times
authorJunling Bu <linlinjavaer@gmail.com>
Sun, 22 Sep 2013 18:02:07 -0700
changeset 10200 17e79c1772cd
parent 10199 b5584cbb3ede
child 10201 8bdf35df4bf1
avoid memory leak if called multiple times
src/wifi/model/dcf-manager.cc
--- a/src/wifi/model/dcf-manager.cc	Fri Sep 13 06:14:27 2013 -0700
+++ b/src/wifi/model/dcf-manager.cc	Sun Sep 22 18:02:07 2013 -0700
@@ -287,6 +287,10 @@
 DcfManager::SetupPhyListener (Ptr<WifiPhy> phy)
 {
   NS_LOG_FUNCTION (this << phy);
+  if (m_phyListener != 0)
+    {
+      delete m_phyListener;
+    }
   m_phyListener = new PhyListener (this);
   phy->RegisterListener (m_phyListener);
 }
@@ -294,6 +298,10 @@
 DcfManager::SetupLowListener (Ptr<MacLow> low)
 {
   NS_LOG_FUNCTION (this << low);
+  if (m_lowListener != 0)
+    {
+      delete m_lowListener;
+    }
   m_lowListener = new LowDcfListener (this);
   low->RegisterDcfListener (m_lowListener);
 }