From 07fb9a3bfca21c1dda7fb73801856493e7a5ba87 Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Sat, 19 Mar 2011 19:15:39 -0700 Subject: [PATCH] see #2242 fix crash when ASA import was attempted into locked library --- .../IC_NetworkZonesPage.cpp | 2 ++ .../importFirewallConfigurationWizard/IC_ProgressPage.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libgui/importFirewallConfigurationWizard/IC_NetworkZonesPage.cpp b/src/libgui/importFirewallConfigurationWizard/IC_NetworkZonesPage.cpp index ddae9e2f8..77c6c84bc 100644 --- a/src/libgui/importFirewallConfigurationWizard/IC_NetworkZonesPage.cpp +++ b/src/libgui/importFirewallConfigurationWizard/IC_NetworkZonesPage.cpp @@ -112,6 +112,8 @@ void IC_NetworkZonesPage::setNetworkZones() Firewall *fw = dynamic_cast(wizard())->getFirewall(); + if (fw == NULL) return; + // read and configure network zones list all_interfaces = fw->getByTypeDeep(Interface::TYPENAME); list::iterator it; diff --git a/src/libgui/importFirewallConfigurationWizard/IC_ProgressPage.cpp b/src/libgui/importFirewallConfigurationWizard/IC_ProgressPage.cpp index 397f60e9d..d8ce93812 100644 --- a/src/libgui/importFirewallConfigurationWizard/IC_ProgressPage.cpp +++ b/src/libgui/importFirewallConfigurationWizard/IC_ProgressPage.cpp @@ -86,7 +86,12 @@ int IC_ProgressPage::nextId () const dynamic_cast(wizard())-> getPlatform(); - if (platform == "pix" || platform == "fwsm") + Firewall *fw = + dynamic_cast(wizard())->getFirewall(); + + // I can move on to the next page only if firewall object has been created + // and the next page only makes sense for pix and fwsm + if (fw && (platform == "pix" || platform == "fwsm")) return ImportFirewallConfigurationWizard::Page_NetworkZones; return -1;