Bug fix for invalid image detection.

This commit is contained in:
Savetheinternet 2010-11-04 20:01:20 +11:00
parent 90dd6f5949
commit 2eddc7a4ee

View File

@ -356,23 +356,37 @@
} }
function createimage($type, $source_pic) { function createimage($type, $source_pic) {
$image = false;
switch($type) { switch($type) {
case 'jpg': case 'jpg':
case 'jpeg': case 'jpeg':
return imagecreatefromjpeg($source_pic); if(!$image = @imagecreatefromjpeg($source_pic)) {
unlink($source_pic);
error(ERR_INVALIDIMG);
}
break; break;
case 'png': case 'png':
return imagecreatefrompng($source_pic); if(!$image = @imagecreatefrompng($source_pic)) {
unlink($source_pic);
error(ERR_INVALIDIMG);
}
break; break;
case 'gif': case 'gif':
return imagecreatefromgif($source_pic); if(!$image = @imagecreatefromgif($source_pic)) {
unlink($source_pic);
error(ERR_INVALIDIMG);
}
break; break;
case 'bmp': case 'bmp':
return imagecreatefrombmp($source_pic); if(!$image = @imagecreatefrombmp($source_pic)) {
unlink($source_pic);
error(ERR_INVALIDIMG);
}
break; break;
default: default:
error('Unknwon file extension.'); error('Unknwon file extension.');
} }
return $image;
} }
function resize($src, $width, $height, $destination_pic, $max_width, $max_height) { function resize($src, $width, $height, $destination_pic, $max_width, $max_height) {
@ -482,10 +496,10 @@
} }
} }
// imagebmp helpers // imagebmp helpers
function int_to_dword($n){ function int_to_dword($n) {
return chr($n & 255).chr(($n >> 8) & 255).chr(($n >> 16) & 255).chr(($n >> 24) & 255); return chr($n & 255).chr(($n >> 8) & 255).chr(($n >> 16) & 255).chr(($n >> 24) & 255);
} }
function int_to_word($n){ function int_to_word($n) {
return chr($n & 255).chr(($n >> 8) & 255); return chr($n & 255).chr(($n >> 8) & 255);
} }
?> ?>