libtiff: * libtiff/tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to

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;