diff options
author | NewEraCracker <neweracracker@gmail.com> | 2016-08-12 15:55:23 +0100 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-08-12 13:41:35 -0300 |
commit | acfbc96074782b5206d994cddfb701a80b8dfb04 (patch) | |
tree | 6801a29f7ce15afdfead12ce036d6774221570ab /src | |
parent | 62630ddcb836a69f0143a45e8e06a6adb62d053d (diff) | |
download | pfsense-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.inc | 3 |
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); |