summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNewEraCracker <neweracracker@gmail.com>2016-08-12 15:55:23 +0100
committerRenato Botelho <renato@netgate.com>2016-08-12 13:41:35 -0300
commitacfbc96074782b5206d994cddfb701a80b8dfb04 (patch)
tree6801a29f7ce15afdfead12ce036d6774221570ab /src
parent62630ddcb836a69f0143a45e8e06a6adb62d053d (diff)
downloadpfsense-acfbc96074782b5206d994cddfb701a80b8dfb04.zip
pfsense-acfbc96074782b5206d994cddfb701a80b8dfb04.tar.gz
Protect package_reinstall_all()
If one restores a config.xml without packages, there will be a warning about invalid argument supplied for foreach(). This commit fixes the problem. (cherry picked from commit 5eda5816d8a7bd05730c70e44493815079925b48)
Diffstat (limited to 'src')
-rw-r--r--src/etc/inc/pkg-utils.inc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/etc/inc/pkg-utils.inc b/src/etc/inc/pkg-utils.inc
index 4dc7917..f8f8b0c 100644
--- a/src/etc/inc/pkg-utils.inc
+++ b/src/etc/inc/pkg-utils.inc
@@ -1030,6 +1030,9 @@ function package_reinstall_all() {
FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
unlink_if_exists("{$g['cf_conf_path']}/packages_to_reinstall_after_upgrade.txt");
} else {
+ if (!isset($config['installedpackages']['package']) || !is_array($config['installedpackages']['package'])) {
+ return true;
+ }
$package_list = array();
foreach ($config['installedpackages']['package'] as $package) {
$package_list[] = get_package_internal_name($package);
OpenPOWER on IntegriCloud