From cb9e9f3026aa7b3110af678b28f7e4d86ef52a72 Mon Sep 17 00:00:00 2001 From: Simon Spannagel Date: Wed, 18 Aug 2021 07:36:11 +0200 Subject: [PATCH] Fix #20913: Check image resource before attempting to preserve alpha Signed-off-by: Simon Spannagel --- lib/private/legacy/OC_Image.php | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/private/legacy/OC_Image.php b/lib/private/legacy/OC_Image.php index f1b9101045a..04a88106d92 100644 --- a/lib/private/legacy/OC_Image.php +++ b/lib/private/legacy/OC_Image.php @@ -563,9 +563,13 @@ class OC_Image implements \OCP\IImage { case IMAGETYPE_GIF: if (imagetypes() & IMG_GIF) { $this->resource = imagecreatefromgif($imagePath); - // Preserve transparency - imagealphablending($this->resource, true); - imagesavealpha($this->resource, true); + if ($this->resource) { + // Preserve transparency + imagealphablending($this->resource, true); + imagesavealpha($this->resource, true); + } else { + $this->logger->debug('OC_Image->loadFromFile, GIF image not valid: ' . $imagePath, ['app' => 'core']); + } } else { $this->logger->debug('OC_Image->loadFromFile, GIF images not supported: ' . $imagePath, ['app' => 'core']); } @@ -584,9 +588,13 @@ class OC_Image implements \OCP\IImage { case IMAGETYPE_PNG: if (imagetypes() & IMG_PNG) { $this->resource = @imagecreatefrompng($imagePath); - // Preserve transparency - imagealphablending($this->resource, true); - imagesavealpha($this->resource, true); + if ($this->resource) { + // Preserve transparency + imagealphablending($this->resource, true); + imagesavealpha($this->resource, true); + } else { + $this->logger->debug('OC_Image->loadFromFile, PNG image not valid: ' . $imagePath, ['app' => 'core']); + } } else { $this->logger->debug('OC_Image->loadFromFile, PNG images not supported: ' . $imagePath, ['app' => 'core']); } -- 2.39.5