diff options
| -rw-r--r-- | ext/exif/exif.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 9022355e94..9593f70d2c 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -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 @@ -2857,7 +2863,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; } |
