Merge pull request #2026 from j-ed/master

do not try to extract image infos from 0- or better less than 12-byte length files.
This commit is contained in:
Lukas Reschke 2013-03-02 02:59:00 -08:00
commit 5a9e9e0b51
1 changed files with 9 additions and 2 deletions

View File

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