libtiff: allow zero length runs at start of fax3 lines

https://github.com/libsdl-org/libtiff/commit/7f10ecccc018ec0ca491e36e6af2502a0af07372

From 7f10ecccc018ec0ca491e36e6af2502a0af07372 Mon Sep 17 00:00:00 2001
From: Frank Warmerdam <[EMAIL REDACTED]>
Date: Thu, 10 Mar 2011 20:22:33 +0000
Subject: [PATCH] allow zero length runs at start of fax3 lines

---
 ChangeLog          | 5 +++++
 libtiff/tif_fax3.h | 8 +++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4ed5e0e5..b30ddefd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-10  Frank Warmerdam  <warmerdam@pobox.com>
+
+	* libtiff/tif_fax3.h: Fix to last change allowing zero length 
+	runs at the start of a scanline - needed for legal cases.
+
 2011-03-02  Frank Warmerdam  <warmerdam@pobox.com>
 
 	* libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding 
diff --git a/libtiff/tif_fax3.h b/libtiff/tif_fax3.h
index f4fc8c8d..d7d7723a 100644
--- a/libtiff/tif_fax3.h
+++ b/libtiff/tif_fax3.h
@@ -1,4 +1,4 @@
-/* $Id: tif_fax3.h,v 1.5.2.2 2011-03-03 01:36:10 fwarmerdam Exp $ */
+/* $Id: tif_fax3.h,v 1.5.2.3 2011-03-10 20:22:33 fwarmerdam Exp $ */
 
 /*
  * Copyright (c) 1990-1997 Sam Leffler
@@ -479,8 +479,10 @@ done1d:									\
 	case S_VL:							\
 	    CHECK_b1;							\
 	    if (b1 <= (int) (a0 + TabEnt->Param)) {			\
-		unexpected("VL", a0);					\
-		goto eol2d;						\
+		if (b1 < (int) (a0 + TabEnt->Param) || pa != thisrun) {	\
+		    unexpected("VL", a0);				\
+		    goto eol2d;						\
+		}							\
 	    }								\
 	    SETVALUE(b1 - a0 - TabEnt->Param);				\
 	    b1 -= *--pb;						\