From 3b70a57e1d9c1c9a63f2e4627f553450c5068b4a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 10 Feb 2017 13:48:30 +0100 Subject: Make sure invalid images don't flood the log file Signed-off-by: Joas Schilling --- lib/private/image.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/private/image.php b/lib/private/image.php index 2c20daf5d44..225266f6787 100644 --- a/lib/private/image.php +++ b/lib/private/image.php @@ -725,7 +725,7 @@ class OC_Image implements \OCP\IImage { $this->logger->warning($error, array('app' => 'core')); return $im; } - $color = unpack('V', $part . $vide); + $color = @unpack('V', $part . $vide); break; case 16: if (!($part = substr($data, $p, 2))) { @@ -733,20 +733,20 @@ class OC_Image implements \OCP\IImage { $this->logger->warning($error, array('app' => 'core')); return $im; } - $color = unpack('v', $part); + $color = @unpack('v', $part); $color[1] = (($color[1] & 0xf800) >> 8) * 65536 + (($color[1] & 0x07e0) >> 3) * 256 + (($color[1] & 0x001f) << 3); break; case 8: - $color = unpack('n', $vide . substr($data, $p, 1)); + $color = @unpack('n', $vide . substr($data, $p, 1)); $color[1] = $palette[$color[1] + 1]; break; case 4: - $color = unpack('n', $vide . substr($data, floor($p), 1)); + $color = @unpack('n', $vide . substr($data, floor($p), 1)); $color[1] = ($p * 2) % 2 == 0 ? $color[1] >> 4 : $color[1] & 0x0F; $color[1] = $palette[$color[1] + 1]; break; case 1: - $color = unpack('n', $vide . substr($data, floor($p), 1)); + $color = @unpack('n', $vide . substr($data, floor($p), 1)); switch (($p * 8) % 8) { case 0: $color[1] = $color[1] >> 7; -- cgit v1.2.3 From a808233ee7fe929f60c3aaf9632341daccc14a30 Mon Sep 17 00:00:00 2001 From: Victor Dubiniuk Date: Wed, 1 Feb 2017 00:30:01 +0300 Subject: Check if color exists in palette before using it Signed-off-by: Lukas Reschke --- lib/private/image.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/private/image.php b/lib/private/image.php index 225266f6787..0683ce1d18c 100644 --- a/lib/private/image.php +++ b/lib/private/image.php @@ -738,12 +738,12 @@ class OC_Image implements \OCP\IImage { break; case 8: $color = @unpack('n', $vide . substr($data, $p, 1)); - $color[1] = $palette[$color[1] + 1]; + $color[1] = (isset($palette[$color[1] + 1])) ? $palette[$color[1] + 1] : $palette[1]; break; case 4: $color = @unpack('n', $vide . substr($data, floor($p), 1)); $color[1] = ($p * 2) % 2 == 0 ? $color[1] >> 4 : $color[1] & 0x0F; - $color[1] = $palette[$color[1] + 1]; + $color[1] = (isset($palette[$color[1] + 1])) ? $palette[$color[1] + 1] : $palette[1]; break; case 1: $color = @unpack('n', $vide . substr($data, floor($p), 1)); @@ -773,7 +773,7 @@ class OC_Image implements \OCP\IImage { $color[1] = ($color[1] & 0x1); break; } - $color[1] = $palette[$color[1] + 1]; + $color[1] = (isset($palette[$color[1] + 1])) ? $palette[$color[1] + 1] : $palette[1]; break; default: fclose($fh); -- cgit v1.2.3