diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2017-02-13 12:14:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-13 12:14:54 +0300 |
commit | b3e42a6609eba53494616c304adf69339e0bd1d2 (patch) | |
tree | ee2bf704061038d614a79f8cb857379718404fda | |
parent | 02cccc1fcf020887410e578e9a3dc70eb2db7803 (diff) | |
parent | 111ca17d67e6dfcbbf4e6ae4af9b8130f7495f52 (diff) |
Merge pull request #3441 from nextcloud/backport-oc-26963-10v10.0.4RC1
[stable10] Make sure invalid images don't flood the log file
-rw-r--r-- | lib/private/legacy/image.php | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/private/legacy/image.php b/lib/private/legacy/image.php index 2c20daf5d44..0683ce1d18c 100644 --- a/lib/private/legacy/image.php +++ b/lib/private/legacy/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[1] = $palette[$color[1] + 1]; + $color = @unpack('n', $vide . substr($data, $p, 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 = @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)); + $color = @unpack('n', $vide . substr($data, floor($p), 1)); switch (($p * 8) % 8) { case 0: $color[1] = $color[1] >> 7; @@ -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); |