diff options
author | Simon Spannagel <simonspa@kth.se> | 2021-08-18 07:36:11 +0200 |
---|---|---|
committer | Simon Spannagel <simonspa@kth.se> | 2021-08-18 07:36:11 +0200 |
commit | 58f55975e068f156186c0a0930ab3dacc7e36c8c (patch) | |
tree | c361257747522614e18d21dea0b93d7aa792fe61 /lib | |
parent | 0244368e3598245c077714ca2a6bb1843d416cbf (diff) | |
download | nextcloud-server-58f55975e068f156186c0a0930ab3dacc7e36c8c.tar.gz nextcloud-server-58f55975e068f156186c0a0930ab3dacc7e36c8c.zip |
Fix #20913: Check image resource before attempting to preserve alpha
Signed-off-by: Simon Spannagel <simonspa@kth.se>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/legacy/OC_Image.php | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/private/legacy/OC_Image.php b/lib/private/legacy/OC_Image.php index 59d51773528..890df2241af 100644 --- a/lib/private/legacy/OC_Image.php +++ b/lib/private/legacy/OC_Image.php @@ -562,9 +562,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']); } @@ -583,9 +587,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']); } |