From c9f29e01d6079d0b5d381749d54783efc334b984 Mon Sep 17 00:00:00 2001
From: Bob Friesenhahn <[EMAIL REDACTED]>
Date: Fri, 29 Jun 2007 20:06:44 +0000
Subject: [PATCH] * libtiff/tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt
to bsearch() on a NULL fieldinfo list. (_TIFFFindFieldInfoByName): Don't
attempt to lfind() on a NULL fieldinfo list.
---
ChangeLog | 7 +++++++
build/Makefile.in | 2 +-
contrib/dbs/xtiff/Makefile.in | 2 +-
html/Makefile.in | 2 +-
html/man/Makefile.in | 2 +-
libtiff/tif_dirinfo.c | 14 +++++++++++++-
6 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 951b2427..fb5e6e7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-06-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+ * libtiff/tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to
+ bsearch() on a NULL fieldinfo list.
+ (_TIFFFindFieldInfoByName): Don't attempt to
+ lfind() on a NULL fieldinfo list.
+
2007-05-01 Andrey Kiselev <dron@ak4719.spb.edu>
* libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a
diff --git a/build/Makefile.in b/build/Makefile.in
index fdbcedb2..e8941d60 100644
--- a/build/Makefile.in
+++ b/build/Makefile.in
@@ -14,7 +14,7 @@
@SET_MAKE@
-# $Id: Makefile.in,v 1.1 2007-02-24 15:03:49 dron Exp $
+# $Id: Makefile.in,v 1.1.2.1 2007-06-29 20:06:45 bfriesen Exp $
#
# Tag Image File Format (TIFF) Software
#
diff --git a/contrib/dbs/xtiff/Makefile.in b/contrib/dbs/xtiff/Makefile.in
index d8daeba4..b0aa478d 100644
--- a/contrib/dbs/xtiff/Makefile.in
+++ b/contrib/dbs/xtiff/Makefile.in
@@ -14,7 +14,7 @@
@SET_MAKE@
-# $Id: Makefile.in,v 1.36 2007-02-24 15:03:49 dron Exp $
+# $Id: Makefile.in,v 1.36.2.1 2007-06-29 20:06:46 bfriesen Exp $
#
# Tag Image File Format (TIFF) Software
#
diff --git a/html/Makefile.in b/html/Makefile.in
index 20bdb66a..e6fdb3ad 100644
--- a/html/Makefile.in
+++ b/html/Makefile.in
@@ -14,7 +14,7 @@
@SET_MAKE@
-# $Id: Makefile.in,v 1.49 2007-02-24 15:03:50 dron Exp $
+# $Id: Makefile.in,v 1.49.2.1 2007-06-29 20:06:46 bfriesen Exp $
#
# Tag Image File Format (TIFF) Software
#
diff --git a/html/man/Makefile.in b/html/man/Makefile.in
index a9966d00..d9c4165c 100644
--- a/html/man/Makefile.in
+++ b/html/man/Makefile.in
@@ -499,7 +499,7 @@ index: $(docfiles)
.PHONY: htmldoc
htmldoc: $(docfiles)
-$(docfiles): index
+$(docfiles):
for i in $(manpages); do \
${GROFF} $(MANSRCDIR)/$$i > $(HTMLMANDIR)/$$i.html; \
done
diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
index 5fd65ae9..74d1cb5d 100644
--- a/libtiff/tif_dirinfo.c
+++ b/libtiff/tif_dirinfo.c
@@ -1,4 +1,4 @@
-/* $Id: tif_dirinfo.c,v 1.65.2.3 2007-04-24 10:12:22 dron Exp $ */
+/* $Id: tif_dirinfo.c,v 1.65.2.4 2007-06-29 20:06:46 bfriesen Exp $ */
/*
* Copyright (c) 1988-1997 Sam Leffler
@@ -755,6 +755,12 @@ _TIFFFindFieldInfo(TIFF* tif, ttag_t tag, TIFFDataType dt)
if (tif->tif_foundfield && tif->tif_foundfield->field_tag == tag &&
(dt == TIFF_ANY || dt == tif->tif_foundfield->field_type))
return tif->tif_foundfield;
+
+ /* If we are invoked with no field information, then just return. */
+ if ( !tif->tif_fieldinfo ) {
+ return NULL;
+ }
+
/* NB: use sorted search (e.g. binary search) */
key.field_tag = tag;
key.field_type = dt;
@@ -778,6 +784,12 @@ _TIFFFindFieldInfoByName(TIFF* tif, const char *field_name, TIFFDataType dt)
&& streq(tif->tif_foundfield->field_name, field_name)
&& (dt == TIFF_ANY || dt == tif->tif_foundfield->field_type))
return (tif->tif_foundfield);
+
+ /* If we are invoked with no field information, then just return. */
+ if ( !tif->tif_fieldinfo ) {
+ return NULL;
+ }
+
/* NB: use sorted search (e.g. binary search) */
key.field_name = (char *)field_name;
key.field_type = dt;