# HG changeset patch # User Junling Bu # Date 1379898127 25200 # Node ID 17e79c1772cd331f59d8cc1115dc94cb390c2eed # Parent b5584cbb3edec19e4b88312bfc721d9fc5224839 avoid memory leak if called multiple times diff -r b5584cbb3ede -r 17e79c1772cd 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 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 low) { NS_LOG_FUNCTION (this << low); + if (m_lowListener != 0) + { + delete m_lowListener; + } m_lowListener = new LowDcfListener (this); low->RegisterDcfListener (m_lowListener); }