rpms/libtiff/devel libtiff-jpeg-scanline.patch, NONE, 1.1 libtiff.spec, 1.58, 1.59

Tom Lane tgl at fedoraproject.org
Thu Dec 17 00:57:51 UTC 2009


Author: tgl

Update of /cvs/pkgs/rpms/libtiff/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27627

Modified Files:
	libtiff.spec 
Added Files:
	libtiff-jpeg-scanline.patch 
Log Message:
Apply partial fix for bug #460322

libtiff-jpeg-scanline.patch:
 tif_jpeg.c |   16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

--- NEW FILE libtiff-jpeg-scanline.patch ---
Upstream patch that partially fixes bug #460322.  The tiffcmp case is
still there, but this is a step forward anyhow, so going with it for now.


diff -Naur tiff-3.9.2.orig/libtiff/tif_jpeg.c tiff-3.9.2/libtiff/tif_jpeg.c
--- tiff-3.9.2.orig/libtiff/tif_jpeg.c	2009-08-30 12:21:46.000000000 -0400
+++ tiff-3.9.2/libtiff/tif_jpeg.c	2009-12-05 16:48:56.000000000 -0500
@@ -1613,7 +1613,11 @@
 	 * Must recalculate cached tile size in case sampling state changed.
 	 * Should we really be doing this now if image size isn't set? 
 	 */
-	tif->tif_tilesize = isTiled(tif) ? TIFFTileSize(tif) : (tsize_t) -1;
+        if( tif->tif_tilesize > 0 )
+            tif->tif_tilesize = isTiled(tif) ? TIFFTileSize(tif) : (tsize_t) -1;
+
+        if(tif->tif_scanlinesize > 0 )
+            tif->tif_scanlinesize = TIFFScanlineSize(tif); 
 }
 
 static int
@@ -1741,13 +1745,21 @@
 			return;
     }
     else
-	{
+    {
         if( !TIFFFillStrip( tif, 0 ) )
             return;
     }
 
     TIFFSetField( tif, TIFFTAG_YCBCRSUBSAMPLING, 
                   (uint16) sp->h_sampling, (uint16) sp->v_sampling );
+
+    /*
+    ** We want to clear the loaded strip so the application has time
+    ** to set JPEGCOLORMODE or other behavior modifiers.  This essentially
+    ** undoes the JPEGPreDecode triggers by TIFFFileStrip().  (#1936)
+    */
+    tif->tif_curstrip = -1;
+
 #endif /* CHECK_JPEG_YCBCR_SUBSAMPLING */
 }
 


Index: libtiff.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libtiff/devel/libtiff.spec,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -p -r1.58 -r1.59
--- libtiff.spec	3 Dec 2009 18:42:07 -0000	1.58
+++ libtiff.spec	17 Dec 2009 00:57:50 -0000	1.59
@@ -1,7 +1,7 @@
 Summary: Library of functions for manipulating TIFF format image files
 Name: libtiff
 Version: 3.9.2
-Release: 1%{?dist}
+Release: 2%{?dist}
 
 License: libtiff
 Group: System Environment/Libraries
@@ -11,6 +11,7 @@ Source: ftp://ftp.remotesensing.org/pub/
 Patch1: libtiff-acversion.patch
 Patch2: libtiff-mantypo.patch
 Patch3: libtiff-CVE-2009-2347.patch
+Patch4: libtiff-jpeg-scanline.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: zlib-devel libjpeg-devel
@@ -66,6 +67,7 @@ image files using the libtiff library.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 # Use build system's libtool.m4, not the one in the package.
 rm -f libtool.m4
@@ -177,6 +179,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/*
 
 %changelog
+* Wed Dec 16 2009 Tom Lane <tgl at redhat.com> 3.9.2-2
+- Apply Warmerdam's partial fix for bug #460322 ... better than nothing.
+Related: #460322
+
 * Thu Dec  3 2009 Tom Lane <tgl at redhat.com> 3.9.2-1
 - Update to libtiff 3.9.2; stop carrying a lot of old patches
 Resolves: #520734




More information about the fedora-extras-commits mailing list