aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSimon Spannagel <simonspa@kth.se>2021-08-18 07:36:11 +0200
committerSimon Spannagel <simonspa@kth.se>2021-08-18 07:36:11 +0200
commit58f55975e068f156186c0a0930ab3dacc7e36c8c (patch)
treec361257747522614e18d21dea0b93d7aa792fe61 /lib
parent0244368e3598245c077714ca2a6bb1843d416cbf (diff)
downloadnextcloud-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.php20
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']);
}