From eb6e5a27a34060b7e410fd8013ce12134cda7f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Wed, 28 Mar 2018 11:12:56 +0200 Subject: [PATCH] Do not fail hard if no appinfo is returned during update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- lib/private/App/AppManager.php | 6 ++++-- lib/private/Updater.php | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/private/App/AppManager.php b/lib/private/App/AppManager.php index 442fc1a0e1..4d0859b198 100644 --- a/lib/private/App/AppManager.php +++ b/lib/private/App/AppManager.php @@ -358,7 +358,7 @@ class AppManager implements IAppManager { * * @param bool $path * @param null $lang - * @return array app info + * @return array|null app info */ public function getAppInfo(string $appId, bool $path = false, $lang = null) { if ($path) { @@ -411,7 +411,9 @@ class AppManager implements IAppManager { $incompatibleApps = array(); foreach ($apps as $appId) { $info = $this->getAppInfo($appId); - if (!\OC_App::isAppCompatible($version, $info)) { + if ($info === null) { + $incompatibleApps[] = ['id' => $appId]; + } else if (!\OC_App::isAppCompatible($version, $info)) { $incompatibleApps[] = $info; } } diff --git a/lib/private/Updater.php b/lib/private/Updater.php index 4dc8edc027..49a4a1094e 100644 --- a/lib/private/Updater.php +++ b/lib/private/Updater.php @@ -391,7 +391,7 @@ class Updater extends BasicEmitter { foreach ($apps as $app) { // check if the app is compatible with this version of ownCloud $info = OC_App::getAppInfo($app); - if(!OC_App::isAppCompatible($version, $info)) { + if($info === null || !OC_App::isAppCompatible($version, $info)) { if ($appManager->isShipped($app)) { throw new \UnexpectedValueException('The files of the app "' . $app . '" were not correctly replaced before running the update'); }