Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Schwan <carl@carlschwan.eu>2022-01-27 18:55:53 +0300
committerCarl Schwan <carl@carlschwan.eu>2022-01-27 19:03:09 +0300
commit760db78dbac8ac81f58dd0f2797b7d76fb0af239 (patch)
tree46039014032ef740a05775c7c679aeaa5cb7875e /apps/theming/lib/Controller
parentf778cbe7b9f0c41e25a0e2fe1031e969ba04c2c1 (diff)
Add better error handling
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'apps/theming/lib/Controller')
-rw-r--r--apps/theming/lib/Controller/IconController.php10
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php
index da6668c4906..45d3ee14e47 100644
--- a/apps/theming/lib/Controller/IconController.php
+++ b/apps/theming/lib/Controller/IconController.php
@@ -107,7 +107,7 @@ class IconController extends Controller {
* @NoCSRFRequired
*
* @param $app string app name
- * @return FileDisplayResponse|DataDisplayResponse
+ * @return FileDisplayResponse|DataDisplayResponse|NotFoundResponse
* @throws \Exception
*/
public function getFavicon(string $app = 'core'): Response {
@@ -123,6 +123,9 @@ class IconController extends Controller {
$iconFile = $this->imageManager->getCachedImage('favIcon-' . $app);
} catch (NotFoundException $exception) {
$icon = $this->iconBuilder->getFavicon($app);
+ if ($icon === false || $icon === '') {
+ return new NotFoundResponse();
+ }
$iconFile = $this->imageManager->setCachedImage('favIcon-' . $app, $icon);
}
$response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/x-icon']);
@@ -142,7 +145,7 @@ class IconController extends Controller {
* @NoCSRFRequired
*
* @param $app string app name
- * @return DataDisplayResponse|FileDisplayResponse
+ * @return DataDisplayResponse|FileDisplayResponse|NotFoundResponse
* @throws \Exception
*/
public function getTouchIcon(string $app = 'core'): Response {
@@ -157,6 +160,9 @@ class IconController extends Controller {
$iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app);
} catch (NotFoundException $exception) {
$icon = $this->iconBuilder->getTouchIcon($app);
+ if ($icon === false || $icon === '') {
+ return new NotFoundResponse();
+ }
$iconFile = $this->imageManager->setCachedImage('touchIcon-' . $app, $icon);
}
$response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/png']);