From d4362fe972442cfd2d6aa9b32134240c0ddaa6c5 Mon Sep 17 00:00:00 2001 From: Nicolas Pena Date: Thu, 27 Jul 2017 15:52:36 -0400 Subject: Define SIZEOF_VOIDP and other cleanup in tiffconf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL uses sizeof to calculate sizes in tiffconf. It adds SIZEOF_VOIDP to allow LibTIFF to take codepaths reducing OOMs. Finally, it gets rid of _FX_WIN32_MOBILE_ since it's never defined. Bug: chromium:718494 Change-Id: I9e6fb2812487ccd7d08e56fd1954c716ddccd07b Reviewed-on: https://pdfium-review.googlesource.com/9410 Reviewed-by: Tom Sepez Commit-Queue: Nicolás Peña --- third_party/libtiff/0000-build-config.patch | 52 ++++++++++++----------------- 1 file changed, 22 insertions(+), 30 deletions(-) (limited to 'third_party/libtiff/0000-build-config.patch') diff --git a/third_party/libtiff/0000-build-config.patch b/third_party/libtiff/0000-build-config.patch index a422b37db8..60f79b74b2 100644 --- a/third_party/libtiff/0000-build-config.patch +++ b/third_party/libtiff/0000-build-config.patch @@ -68,7 +68,7 @@ diff a/third_party/libtiff/tif_ojpeg.c b/third_party/libtiff/tif_ojpeg.c diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h --- /dev/null +++ b/third_party/libtiff/tiffconf.h -@@ -0,0 +1,248 @@ +@@ -0,0 +1,239 @@ +/* libtiff/tiffconf.h. Generated by configure. */ +/* + Configuration defines for installed libtiff. @@ -81,20 +81,10 @@ diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h +#include "core/fxcrt/fx_system.h" + +//NOTE: The tiff codec requires an ANSI C compiler environment for building and -+// presumes an ANSI C environment for use. -+ -+/* Define to 1 if you have the header file. */ -+/* Define to 1 if you have the header file. */ -+#if _FX_OS_ == _FX_WIN32_MOBILE_ -+# define O_RDONLY 0x0000 /* open for reading only */ -+# define O_WRONLY 0x0001 /* open for writing only */ -+# define O_RDWR 0x0002 /* open for reading and writing */ -+# define O_CREAT 0x0100 /* create and open file */ -+# define O_TRUNC 0x0200 /* open and truncate */ -+#else ++// presumes an ANSI C environment for use. ++ +# define HAVE_SYS_TYPES_H 1 +# define HAVE_FCNTL_H 1 -+#endif + +/* Compatibility stuff. */ + @@ -110,21 +100,23 @@ diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h +//fx_system.h already include the string.h in ANSIC + +/* Define to 1 if you have the header file. */ -+/*#define HAVE_SEARCH_H 1 */ ++#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ && _MSC_VER >= 1900 ++// search.h is always available in VS 2015 and above, and may be ++// available in earlier versions. ++#define HAVE_SEARCH_H 1 ++#endif + ++static const size_t sizeOfInt = sizeof(int); +/* The size of a `int', as computed by sizeof. */ -+/* According typedef int int32_t; in the fx_system.h*/ -+#define SIZEOF_INT 4 ++#define SIZEOF_INT sizeOfInt + -+/* Sunliang.Liu 20110325. We should config the correct long size for tif -+ fax4decode optimize in tif_fax3.c -- Linux64 decode issue. -+ TESTDOC: Bug #23661 - z1.tif. */ -+#if _FX_CPU_ == _FX_WIN64_ || _FX_CPU_ == _FX_X64_ || _FX_CPU_ == _FX_IA64_ ++static const size_t sizeOfULong = sizeof(unsigned long); +/* The size of `unsigned long', as computed by sizeof. */ -+#define SIZEOF_UNSIGNED_LONG 8 -+#else -+#define SIZEOF_UNSIGNED_LONG 4 -+#endif ++#define SIZEOF_UNSIGNED_LONG sizeOfULong ++ ++static const size_t sizeOfVoidP = sizeof(void*); ++/* The size of void* as computed by sizeof. */ ++#define SIZEOF_VOIDP sizeOfVoidP + +/* Signed 8-bit type */ +#define TIFF_INT8_T signed char @@ -150,7 +142,7 @@ diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h +/* Unsigned 32-bit type formatter */ +#define TIFF_UINT32_FORMAT "%u" + -+#ifdef _MSC_VER // windows ++#ifdef _MSC_VER // windows + +/* Signed 64-bit type formatter */ +#define TIFF_INT64_FORMAT "%I64d" @@ -164,9 +156,9 @@ diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h +/* Unsigned 64-bit type */ +#define TIFF_UINT64_T unsigned __int64 + -+#else // linux/unix ++#else // linux/unix + -+#if 0 //_FX_CPU_ == _FX_X64_ // linux/unix 64 ++#if 0 //_FX_CPU_ == _FX_X64_ // linux/unix 64 + +/* Signed 64-bit type formatter */ +#define TIFF_INT64_FORMAT "%ld" @@ -177,7 +169,7 @@ diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h +/* Signed 64-bit type */ +#define TIFF_INT64_T signed long + -+#else // linux/unix 32 ++#else // linux/unix 32 + +/* Signed 64-bit type formatter */ +#define TIFF_INT64_FORMAT "%lld" @@ -188,7 +180,7 @@ diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h +/* Signed 64-bit type */ +#define TIFF_INT64_T signed long long + -+#endif // end _FX_CPU_ ++#endif // end _FX_CPU_ + +/* Unsigned 64-bit type */ +#define TIFF_UINT64_T unsigned long long @@ -271,7 +263,7 @@ diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h + +/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation + fails with unpatched IJG JPEG library) */ -+#define OJPEG_SUPPORT 1 ++#define OJPEG_SUPPORT 1 + +/* Support Macintosh PackBits algorithm */ +#define PACKBITS_SUPPORT 1 -- cgit v1.2.3