mirror of
https://github.com/fwbuilder/fwbuilder
synced 2026-03-20 10:17:16 +01:00
* NATCompiler_pix.cpp (NATCompiler_pix): fixes #1901 "add
destructor to NATCompiler_pix and NATCompiler_asa8". This eliminates memory leak.
This commit is contained in:
parent
62e7c778fe
commit
df810d9d27
@ -1,5 +1,9 @@
|
||||
2011-01-07 vadim <vadim@netcitadel.com>
|
||||
|
||||
* NATCompiler_pix.cpp (NATCompiler_pix): fixes #1901 "add
|
||||
destructor to NATCompiler_pix and NATCompiler_asa8". This
|
||||
eliminates memory leak.
|
||||
|
||||
* ASA8Object.cpp (ASA8Object): refs #1885 "named network and
|
||||
service objects in pix8". So far, these objects are only used
|
||||
for nat configuration.
|
||||
|
||||
@ -105,7 +105,8 @@ namespace fwcompiler {
|
||||
libfwbuilder::Firewall *fw,
|
||||
bool ipv6_policy,
|
||||
fwcompiler::OSConfigurator *_oscnf);
|
||||
|
||||
virtual ~NATCompiler_asa8();
|
||||
|
||||
virtual void compile();
|
||||
|
||||
};
|
||||
|
||||
@ -57,6 +57,16 @@ void NATCompiler_asa8::addASA8Object(const FWObject *obj)
|
||||
asa8_object_registry[obj->getId()] = asa8obj;
|
||||
}
|
||||
}
|
||||
|
||||
NATCompiler_asa8::~NATCompiler_asa8()
|
||||
{
|
||||
std::map<int, ASA8Object*>::iterator it;
|
||||
for (it=asa8_object_registry.begin(); it!=asa8_object_registry.end(); ++it)
|
||||
{
|
||||
delete it->second;
|
||||
}
|
||||
asa8_object_registry.clear();
|
||||
}
|
||||
|
||||
ASA8Object* NATCompiler_asa8::getASA8Object(const FWObject *obj)
|
||||
{
|
||||
|
||||
@ -73,6 +73,26 @@ NATCompiler_pix::NATCompiler_pix(FWObjectDatabase *_db,
|
||||
{
|
||||
}
|
||||
|
||||
NATCompiler_pix::~NATCompiler_pix()
|
||||
{
|
||||
std::map<int,NATCmd*>::iterator it1;
|
||||
for (it1=nat_commands.begin(); it1!=nat_commands.end(); ++it1)
|
||||
{
|
||||
delete it1->second;
|
||||
}
|
||||
nat_commands.clear();
|
||||
|
||||
std::map<int,StaticCmd*>::iterator it2;
|
||||
for (it2=static_commands.begin(); it2!=static_commands.end(); ++it2)
|
||||
{
|
||||
delete it2->second;
|
||||
}
|
||||
static_commands.clear();
|
||||
nonat_rules.clear();
|
||||
first_nonat_rule_id.clear();
|
||||
if (final_ruleset != NULL) delete final_ruleset;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Do not expand interfaces in ODst and TSrc
|
||||
|
||||
@ -502,7 +502,8 @@ namespace fwcompiler {
|
||||
libfwbuilder::Firewall *fw,
|
||||
bool ipv6_policy,
|
||||
fwcompiler::OSConfigurator *_oscnf);
|
||||
|
||||
virtual ~NATCompiler_pix();
|
||||
|
||||
virtual int prolog();
|
||||
virtual void compile();
|
||||
virtual void epilog();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user