From 07b956c22d8ba5a6ac94dc3047bde8ca7a91609f Mon Sep 17 00:00:00 2001
From: j-ed <juergen@eisfair.org>
Date: Sat, 2 Mar 2013 10:51:49 +0100
Subject: [PATCH] Update image.php

don't try to extract image infos from 0- or better less than 12 byte length files. See description of `exif_imagetype` function at
`http://php.net/manual/de/function.exif-imagetype.php`.
---
 lib/image.php | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/lib/image.php b/lib/image.php
index 97b0231047..c1b187608a 100644
--- a/lib/image.php
+++ b/lib/image.php
@@ -35,7 +35,13 @@ class OC_Image {
 	* @returns string The mime type if the it could be determined, otherwise an empty string.
 	*/
 	static public function getMimeTypeForFile($filepath) {
-		$imagetype = exif_imagetype($filepath);
+		// exif_imagetype throws "read error!" if file is less than 12 byte
+		if (filesize($filepath) > 11) {
+			$imagetype = exif_imagetype($filepath);
+		}
+		else {
+			$imagetype = false;
+		}
 		return $imagetype ? image_type_to_mime_type($imagetype) : '';
 	}
 
@@ -385,7 +391,8 @@ class OC_Image {
 	* @returns An image resource or false on error
 	*/
 	public function loadFromFile($imagepath=false) {
-		if(!is_file($imagepath) || !file_exists($imagepath) || !is_readable($imagepath)) {
+		// exif_imagetype throws "read error!" if file is less than 12 byte
+		if(!is_file($imagepath) || !file_exists($imagepath) || filesize($imagepath) < 12 || !is_readable($imagepath)) {
 			// Debug output disabled because this method is tried before loadFromBase64?
 			OC_Log::write('core', 'OC_Image->loadFromFile, couldn\'t load: '.$imagepath, OC_Log::DEBUG);
 			return false;
-- 
GitLab