From 5cf84a99e197ebc86f26bf8eac895f91b4b1004e Mon Sep 17 00:00:00 2001 From: Matthias Schmidt Date: Tue, 31 May 2016 20:40:07 +0200 Subject: [PATCH] Suppress warnings regarding JPEG images --- .../system/image/adapter/GDImageAdapter.class.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/wcfsetup/install/files/lib/system/image/adapter/GDImageAdapter.class.php b/wcfsetup/install/files/lib/system/image/adapter/GDImageAdapter.class.php index 1ab8ed2cb0..edc253aff8 100644 --- a/wcfsetup/install/files/lib/system/image/adapter/GDImageAdapter.class.php +++ b/wcfsetup/install/files/lib/system/image/adapter/GDImageAdapter.class.php @@ -50,6 +50,14 @@ class GDImageAdapter implements IImageAdapter { */ protected $width = 0; + /** + * GDImageAdapter constructor. + */ + public function __construct() { + // suppress warnings like "recoverable error: Invalid SOS parameters for sequential JPEG" + @ini_set('gd.jpeg_ignore_warning', 1); + } + /** * @see \wcf\system\image\adapter\IImageAdapter::load() */ @@ -81,7 +89,11 @@ class GDImageAdapter implements IImageAdapter { break; case IMAGETYPE_JPEG: - $this->image = imageCreateFromJpeg($file); + // suppress warnings and properly handle errors + $this->image = @imageCreateFromJpeg($file); + if ($this->image === false) { + throw new SystemException("Could not read jpeg image '".$file."'."); + } break; case IMAGETYPE_PNG: -- 2.20.1