From: Michael J. Rubinsky Date: Sun, 13 Dec 2009 23:32:53 +0000 (-0500) Subject: Protect against division by zero from faulty exif data. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=e2c90271b152af30c18674bef5e93e742b90097e;p=horde.git Protect against division by zero from faulty exif data. Bug: 8761 --- diff --git a/framework/Image/lib/Horde/Image/Exif.php b/framework/Image/lib/Horde/Image/Exif.php index 2370c33e4..4022725cc 100644 --- a/framework/Image/lib/Horde/Image/Exif.php +++ b/framework/Image/lib/Horde/Image/Exif.php @@ -298,6 +298,9 @@ class Horde_Image_Exif case 'ExposureTime': if (strpos($data, '/') !== false) { list($n, $d) = explode('/', $data, 2); + if ($d == 0) { + return; + } $data = $n / $d; } return self::_formatExposure($data); @@ -305,6 +308,9 @@ class Horde_Image_Exif case 'ShutterSpeedValue': if (strpos($data, '/') !== false) { list($n, $d) = explode('/', $data, 2); + if ($d == 0) { + return; + } $data = $n / $d; } $data = exp($data * log(2)); @@ -317,6 +323,9 @@ class Horde_Image_Exif case 'MaxApertureValue': if (strpos($data, '/') !== false) { list($n, $d) = explode('/', $data, 2); + if ($d == 0) { + return; + } $data = $n / $d; $data = exp(($data * log(2)) / 2); @@ -328,6 +337,9 @@ class Horde_Image_Exif case 'FocalLength': if (strpos($data, '/') !== false) { list($n, $d) = explode('/', $data, 2); + if ($d == 0) { + return; + } return sprintf(_("%d mm"), round($n / $d)); } return sprintf(_("%d mm"), $data);