| From c6f41df7b581402dfba3c19a1e3df4454c551a01 Mon Sep 17 00:00:00 2001 |
| From: Even Rouault <even.rouault@spatialys.com> |
| Date: Sun, 31 Dec 2017 15:09:41 +0100 |
| Subject: [PATCH] libtiff/tif_print.c: TIFFPrintDirectory(): fix null pointer dereference on corrupted file. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2770 |
| |
| |
| libtiff/tif_print.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c |
| index 9959d35..8deceb2 100644 |
| |
| |
| @@ -667,13 +665,13 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags) |
| #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__)) |
| fprintf(fd, " %3lu: [%8I64u, %8I64u]\n", |
| (unsigned long) s, |
| - (unsigned __int64) td->td_stripoffset[s], |
| - (unsigned __int64) td->td_stripbytecount[s]); |
| + td->td_stripoffset ? (unsigned __int64) td->td_stripoffset[s] : 0, |
| + td->td_stripbytecount ? (unsigned __int64) td->td_stripbytecount[s] : 0); |
| #else |
| fprintf(fd, " %3lu: [%8llu, %8llu]\n", |
| (unsigned long) s, |
| - (unsigned long long) td->td_stripoffset[s], |
| - (unsigned long long) td->td_stripbytecount[s]); |
| + td->td_stripoffset ? (unsigned long long) td->td_stripoffset[s] : 0, |
| + td->td_stripbytecount ? (unsigned long long) td->td_stripbytecount[s] : 0); |
| #endif |
| } |
| } |
| -- |
| libgit2 0.26.0 |
| |