From 6bef05546fd9674018f4e8b905da940fa1adefa7 Mon Sep 17 00:00:00 2001 From: jim-p Date: Wed, 27 Oct 2010 16:55:19 -0400 Subject: [PATCH] Do some is_array() testing before renaming fields, otherwise empty variables can be accidentally created. --- etc/inc/upgrade_config.inc | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/etc/inc/upgrade_config.inc b/etc/inc/upgrade_config.inc index 5c8bd08235..2bffa83e59 100644 --- a/etc/inc/upgrade_config.inc +++ b/etc/inc/upgrade_config.inc @@ -2238,16 +2238,24 @@ function rename_field(& $section, $oldname, $newname) { function upgrade_071_to_072() { global $config; - rename_field($config['sysctl']['item'], 'desc', 'descr'); + if (is_array($config['sysctl']) && is_array($config['sysctl']['item'])) + rename_field($config['sysctl']['item'], 'desc', 'descr'); } function upgrade_072_to_073() { global $config; - rename_field($config['load_balancer']['monitor_type'], 'desc', 'descr'); - rename_field($config['load_balancer']['lbpool'], 'desc', 'descr'); - rename_field($config['load_balancer']['lbaction'], 'desc', 'descr'); - rename_field($config['load_balancer']['lbprotocol'], 'desc', 'descr'); - rename_field($config['load_balancer']['virtual_server'], 'desc', 'descr'); + if (!is_array($config['load_balancer'])) + return; + if (is_array($config['load_balancer']['monitor_type'])) + rename_field($config['load_balancer']['monitor_type'], 'desc', 'descr'); + if (is_array($config['load_balancer']['lbpool'])) + rename_field($config['load_balancer']['lbpool'], 'desc', 'descr'); + if (is_array($config['load_balancer']['lbaction'])) + rename_field($config['load_balancer']['lbaction'], 'desc', 'descr'); + if (is_array($config['load_balancer']['lbprotocol'])) + rename_field($config['load_balancer']['lbprotocol'], 'desc', 'descr'); + if (is_array($config['load_balancer']['virtual_server'])) + rename_field($config['load_balancer']['virtual_server'], 'desc', 'descr'); } function upgrade_073_to_074() { @@ -2257,8 +2265,11 @@ function upgrade_073_to_074() { function upgrade_074_to_075() { global $config; - rename_field($config['ca'], 'name', 'descr'); - rename_field($config['cert'], 'name', 'descr'); - rename_field($config['crl'], 'name', 'descr'); + if (is_array($config['ca'])) + rename_field($config['ca'], 'name', 'descr'); + if (is_array($config['cert'])) + rename_field($config['cert'], 'name', 'descr'); + if (is_array($config['crl'])) + rename_field($config['crl'], 'name', 'descr'); } ?>