fix memory leaks for simple sample code
This commit is contained in:
@@ -35,6 +35,14 @@ Arp::Arp (Node *node)
|
||||
: m_node (node)
|
||||
{}
|
||||
|
||||
Arp::~Arp ()
|
||||
{
|
||||
for (CacheList::const_iterator i = m_cacheList.begin (); i != m_cacheList.end (); i++)
|
||||
{
|
||||
delete *i;
|
||||
}
|
||||
}
|
||||
|
||||
Arp *
|
||||
Arp::Copy (Node *node)
|
||||
{
|
||||
|
||||
@@ -61,6 +61,16 @@ InternetNode::InternetNode (InternetNode const &o)
|
||||
SetupLoopback ();
|
||||
}
|
||||
|
||||
InternetNode::~InternetNode ()
|
||||
{
|
||||
delete m_netDevices;
|
||||
delete m_l3Demux;
|
||||
delete m_ipv4L4Demux;
|
||||
delete m_udp;
|
||||
delete m_ipv4;
|
||||
delete m_arp;
|
||||
}
|
||||
|
||||
void
|
||||
InternetNode::SetupLoopback (void)
|
||||
{
|
||||
|
||||
@@ -35,8 +35,9 @@ class InternetNode : public Node
|
||||
{
|
||||
public:
|
||||
InternetNode();
|
||||
InternetNode(const InternetNode&); // Copy constructor
|
||||
virtual InternetNode* Copy() const;// Make a copy of this node
|
||||
InternetNode(const InternetNode&);
|
||||
virtual ~InternetNode ();
|
||||
virtual InternetNode* Copy() const;
|
||||
// Capability access
|
||||
virtual NetDeviceList* GetNetDevices() const;
|
||||
virtual L3Demux* GetL3Demux() const;
|
||||
|
||||
@@ -32,7 +32,12 @@ Ipv4L4Demux::Ipv4L4Demux (Node *node)
|
||||
{}
|
||||
|
||||
Ipv4L4Demux::~Ipv4L4Demux()
|
||||
{}
|
||||
{
|
||||
for (L4List_t::const_iterator i = m_protocols.begin(); i != m_protocols.end(); ++i)
|
||||
{
|
||||
delete *i;
|
||||
}
|
||||
}
|
||||
Ipv4L4Demux*
|
||||
Ipv4L4Demux::Copy(Node *node) const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user