From 94d7e459bcdf541ec479328cf15363d4dede57eb Mon Sep 17 00:00:00 2001 From: Richard Steinmetz Date: Mon, 15 Jan 2024 09:12:49 +0100 Subject: [PATCH] fix: handle exif metadata read errors gracefully Signed-off-by: Richard Steinmetz --- lib/private/Metadata/Provider/ExifProvider.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/private/Metadata/Provider/ExifProvider.php b/lib/private/Metadata/Provider/ExifProvider.php index b1598abbbc8b7..b00e811c96005 100644 --- a/lib/private/Metadata/Provider/ExifProvider.php +++ b/lib/private/Metadata/Provider/ExifProvider.php @@ -71,8 +71,9 @@ public function execute(File $file): array { $size->setId($file->getId()); $size->setArrayAsValue([]); - if (!$data) { - $sizeResult = getimagesizefromstring($file->getContent()); + $content = $file->getContent(); + if (!$data && $content) { + $sizeResult = getimagesizefromstring($content); if ($sizeResult !== false) { $size->setArrayAsValue([ 'width' => $sizeResult[0], @@ -81,7 +82,7 @@ public function execute(File $file): array { $exifData['size'] = $size; } - } elseif (array_key_exists('COMPUTED', $data)) { + } elseif ($data && array_key_exists('COMPUTED', $data)) { if (array_key_exists('Width', $data['COMPUTED']) && array_key_exists('Height', $data['COMPUTED'])) { $size->setArrayAsValue([ 'width' => $data['COMPUTED']['Width'],