|
|
|
@ -40,8 +40,14 @@ |
|
|
|
#include "php.h" |
|
|
|
#include "ext/standard/file.h" |
|
|
|
|
|
|
|
#ifdef HAVE_STDINT_H |
|
|
|
# include <stdint.h> |
|
|
|
#endif |
|
|
|
#ifdef HAVE_INTTYPES_H |
|
|
|
# include <inttypes.h> |
|
|
|
#endif |
|
|
|
#ifdef PHP_WIN32 |
|
|
|
#include "win32/php_stdint.h" |
|
|
|
# include "win32/php_stdint.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
#if HAVE_EXIF |
|
|
|
@ -2853,7 +2859,7 @@ static int exif_process_IFD_TAG(image_info_type *ImageInfo, char *dir_entry, cha |
|
|
|
|
|
|
|
byte_count_signed = (int64_t)components * php_tiff_bytes_per_format[format]; |
|
|
|
|
|
|
|
if (byte_count_signed < 0 || (byte_count_signed > 2147483648)) { |
|
|
|
if (byte_count_signed < 0 || (byte_count_signed > INT32_MAX)) { |
|
|
|
exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "Process tag(x%04X=%s): Illegal byte_count", tag, exif_get_tagname(tag, tagname, -12, tag_table TSRMLS_CC)); |
|
|
|
return FALSE; |
|
|
|
} |
|
|
|
|