diff options
author | Lukas Reschke <lukas@statuscode.ch> | 2017-02-13 12:13:16 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-13 12:13:16 +0300 |
commit | bd3c99057b4e2e82a984e66261ba5fe05ee707d7 (patch) | |
tree | 2818297db784b192f7fb23d8bad4251fd21e4600 | |
parent | 9ba080f5f81170e0fb669957746ec99edd983ee1 (diff) | |
parent | 02a7e3f6d2fe97a7cda6d266c1d8b6dd7c30746c (diff) |
Merge pull request #3440 from nextcloud/backport-oc-26963v11.0.2RC1
[stable11] 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 5403cccd026..47f2a977e9c 100644 --- a/lib/private/legacy/image.php +++ b/lib/private/legacy/image.php @@ -747,7 +747,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))) { @@ -755,20 +755,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; @@ -795,7 +795,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); |