summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/exif/exif.c10
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;
}