From abb952362ad2dc8d8160aab17f9fbcb4d71a7ec9 Mon Sep 17 00:00:00 2001 From: luxifr Date: Sat, 31 Dec 2022 19:59:36 +0100 Subject: [PATCH 1/2] ExifProvider.php: handle unhandled exception Signed-off-by: luxifr --- lib/private/Metadata/Provider/ExifProvider.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/private/Metadata/Provider/ExifProvider.php b/lib/private/Metadata/Provider/ExifProvider.php index 02024bd3877be..3fd2a837ed325 100644 --- a/lib/private/Metadata/Provider/ExifProvider.php +++ b/lib/private/Metadata/Provider/ExifProvider.php @@ -68,7 +68,12 @@ public function execute(File $file): array { $size->setMetadata([]); if (!$data) { - $sizeResult = getimagesizefromstring($file->getContent()); + try { + $sizeResult = getimagesizefromstring($file->getContent()); + } catch (\Exception $ex) { + $this->logger->warning("Couldn't get image for ".$file->getId(), ['exception' => $ex]); + $sizeResult = false; + } if ($sizeResult !== false) { $size->setMetadata([ 'width' => $sizeResult[0], From 8d09145de3b9a2ea2d31416aed605157e41b8c3c Mon Sep 17 00:00:00 2001 From: luxifr Date: Sun, 1 Jan 2023 01:33:08 +0100 Subject: [PATCH 2/2] Catch Throwable instead of Exception as it would cover more cases Signed-off-by: luxifr --- lib/private/Metadata/Provider/ExifProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/Metadata/Provider/ExifProvider.php b/lib/private/Metadata/Provider/ExifProvider.php index 3fd2a837ed325..8209fa6bd676a 100644 --- a/lib/private/Metadata/Provider/ExifProvider.php +++ b/lib/private/Metadata/Provider/ExifProvider.php @@ -70,7 +70,7 @@ public function execute(File $file): array { if (!$data) { try { $sizeResult = getimagesizefromstring($file->getContent()); - } catch (\Exception $ex) { + } catch (\Throwable $ex) { $this->logger->warning("Couldn't get image for ".$file->getId(), ['exception' => $ex]); $sizeResult = false; }