Update to 3.7.2
This commit is contained in:
parent
1c0dc74be3
commit
6c237d5e83
@ -1,2 +1,3 @@
|
||||
tiff-v3.6.1.tar.gz
|
||||
tiff-3.7.1.tar.gz
|
||||
tiff-3.7.2.tar.gz
|
||||
|
194
libtiff-3.7.2-persample.patch
Normal file
194
libtiff-3.7.2-persample.patch
Normal file
@ -0,0 +1,194 @@
|
||||
--- tiff-3.7.2/libtiff/tif_dirread.c.persample 2005-03-05 04:06:00.000000000 -0500
|
||||
+++ tiff-3.7.2/libtiff/tif_dirread.c 2005-06-29 11:54:31.536319000 -0400
|
||||
@@ -1303,33 +1303,37 @@
|
||||
static int
|
||||
TIFFFetchPerSampleShorts(TIFF* tif, TIFFDirEntry* dir, uint16* pl)
|
||||
{
|
||||
- uint16 samples = tif->tif_dir.td_samplesperpixel;
|
||||
- int status = 0;
|
||||
+ uint16 samples = tif->tif_dir.td_samplesperpixel;
|
||||
+ int status = 0;
|
||||
|
||||
- if (CheckDirCount(tif, dir, (uint32) samples)) {
|
||||
- uint16 buf[10];
|
||||
- uint16* v = buf;
|
||||
-
|
||||
- if (samples > NITEMS(buf))
|
||||
- v = (uint16*) CheckMalloc(tif, samples, sizeof(uint16),
|
||||
- "to fetch per-sample values");
|
||||
- if (v && TIFFFetchShortArray(tif, dir, v)) {
|
||||
- uint16 i;
|
||||
- for (i = 1; i < samples; i++)
|
||||
- if (v[i] != v[0]) {
|
||||
- TIFFError(tif->tif_name,
|
||||
- "Cannot handle different per-sample values for field \"%s\"",
|
||||
- _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
|
||||
- goto bad;
|
||||
- }
|
||||
- *pl = v[0];
|
||||
- status = 1;
|
||||
- }
|
||||
- bad:
|
||||
- if (v && v != buf)
|
||||
- _TIFFfree(v);
|
||||
- }
|
||||
- return (status);
|
||||
+ if (CheckDirCount(tif, dir, (uint32) samples)) {
|
||||
+ uint16 buf[10];
|
||||
+ uint16* v = buf;
|
||||
+
|
||||
+ if (dir->tdir_count > NITEMS(buf))
|
||||
+ v = (uint16*) CheckMalloc(tif, dir->tdir_count, sizeof(uint16),
|
||||
+ "to fetch per-sample values");
|
||||
+ if (v && TIFFFetchShortArray(tif, dir, v)) {
|
||||
+ uint16 i;
|
||||
+ int check_count = dir->tdir_count;
|
||||
+ if( samples < check_count )
|
||||
+ check_count = samples;
|
||||
+
|
||||
+ for (i = 1; i < check_count; i++)
|
||||
+ if (v[i] != v[0]) {
|
||||
+ TIFFError(tif->tif_name,
|
||||
+ "Cannot handle different per-sample values for field \"%s\"",
|
||||
+ _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
|
||||
+ goto bad;
|
||||
+ }
|
||||
+ *pl = v[0];
|
||||
+ status = 1;
|
||||
+ }
|
||||
+ bad:
|
||||
+ if (v && v != buf)
|
||||
+ _TIFFfree(v);
|
||||
+ }
|
||||
+ return (status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1340,33 +1344,37 @@
|
||||
static int
|
||||
TIFFFetchPerSampleLongs(TIFF* tif, TIFFDirEntry* dir, uint32* pl)
|
||||
{
|
||||
- uint16 samples = tif->tif_dir.td_samplesperpixel;
|
||||
- int status = 0;
|
||||
+ uint16 samples = tif->tif_dir.td_samplesperpixel;
|
||||
+ int status = 0;
|
||||
|
||||
- if (CheckDirCount(tif, dir, (uint32) samples)) {
|
||||
- uint32 buf[10];
|
||||
- uint32* v = buf;
|
||||
-
|
||||
- if (samples > NITEMS(buf))
|
||||
- v = (uint32*) CheckMalloc(tif, samples, sizeof(uint32),
|
||||
- "to fetch per-sample values");
|
||||
- if (v && TIFFFetchLongArray(tif, dir, v)) {
|
||||
- uint16 i;
|
||||
- for (i = 1; i < samples; i++)
|
||||
- if (v[i] != v[0]) {
|
||||
- TIFFError(tif->tif_name,
|
||||
- "Cannot handle different per-sample values for field \"%s\"",
|
||||
- _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
|
||||
- goto bad;
|
||||
- }
|
||||
- *pl = v[0];
|
||||
- status = 1;
|
||||
- }
|
||||
- bad:
|
||||
- if (v && v != buf)
|
||||
- _TIFFfree(v);
|
||||
- }
|
||||
- return (status);
|
||||
+ if (CheckDirCount(tif, dir, (uint32) samples)) {
|
||||
+ uint32 buf[10];
|
||||
+ uint32* v = buf;
|
||||
+
|
||||
+ if (dir->tdir_count > NITEMS(buf))
|
||||
+ v = (uint32*) CheckMalloc(tif, dir->tdir_count, sizeof(uint32),
|
||||
+ "to fetch per-sample values");
|
||||
+ if (v && TIFFFetchLongArray(tif, dir, v)) {
|
||||
+ uint16 i;
|
||||
+ int check_count = dir->tdir_count;
|
||||
+
|
||||
+ if( samples < check_count )
|
||||
+ check_count = samples;
|
||||
+ for (i = 1; i < check_count; i++)
|
||||
+ if (v[i] != v[0]) {
|
||||
+ TIFFError(tif->tif_name,
|
||||
+ "Cannot handle different per-sample values for field \"%s\"",
|
||||
+ _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
|
||||
+ goto bad;
|
||||
+ }
|
||||
+ *pl = v[0];
|
||||
+ status = 1;
|
||||
+ }
|
||||
+ bad:
|
||||
+ if (v && v != buf)
|
||||
+ _TIFFfree(v);
|
||||
+ }
|
||||
+ return (status);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1377,33 +1385,37 @@
|
||||
static int
|
||||
TIFFFetchPerSampleAnys(TIFF* tif, TIFFDirEntry* dir, double* pl)
|
||||
{
|
||||
- uint16 samples = tif->tif_dir.td_samplesperpixel;
|
||||
- int status = 0;
|
||||
+ uint16 samples = tif->tif_dir.td_samplesperpixel;
|
||||
+ int status = 0;
|
||||
|
||||
- if (CheckDirCount(tif, dir, (uint32) samples)) {
|
||||
- double buf[10];
|
||||
- double* v = buf;
|
||||
-
|
||||
- if (samples > NITEMS(buf))
|
||||
- v = (double*) CheckMalloc(tif, samples, sizeof (double),
|
||||
- "to fetch per-sample values");
|
||||
- if (v && TIFFFetchAnyArray(tif, dir, v)) {
|
||||
- uint16 i;
|
||||
- for (i = 1; i < samples; i++)
|
||||
- if (v[i] != v[0]) {
|
||||
- TIFFError(tif->tif_name,
|
||||
- "Cannot handle different per-sample values for field \"%s\"",
|
||||
- _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
|
||||
- goto bad;
|
||||
- }
|
||||
- *pl = v[0];
|
||||
- status = 1;
|
||||
- }
|
||||
- bad:
|
||||
- if (v && v != buf)
|
||||
- _TIFFfree(v);
|
||||
- }
|
||||
- return (status);
|
||||
+ if (CheckDirCount(tif, dir, (uint32) samples)) {
|
||||
+ double buf[10];
|
||||
+ double* v = buf;
|
||||
+
|
||||
+ if (dir->tdir_count > NITEMS(buf))
|
||||
+ v = (double*) CheckMalloc(tif, dir->tdir_count, sizeof (double),
|
||||
+ "to fetch per-sample values");
|
||||
+ if (v && TIFFFetchAnyArray(tif, dir, v)) {
|
||||
+ uint16 i;
|
||||
+ int check_count = dir->tdir_count;
|
||||
+ if( samples < check_count )
|
||||
+ check_count = samples;
|
||||
+
|
||||
+ for (i = 1; i < check_count; i++)
|
||||
+ if (v[i] != v[0]) {
|
||||
+ TIFFError(tif->tif_name,
|
||||
+ "Cannot handle different per-sample values for field \"%s\"",
|
||||
+ _TIFFFieldWithTag(tif, dir->tdir_tag)->field_name);
|
||||
+ goto bad;
|
||||
+ }
|
||||
+ *pl = v[0];
|
||||
+ status = 1;
|
||||
+ }
|
||||
+ bad:
|
||||
+ if (v && v != buf)
|
||||
+ _TIFFfree(v);
|
||||
+ }
|
||||
+ return (status);
|
||||
}
|
||||
#undef NITEMS
|
||||
|
19
libtiff.spec
19
libtiff.spec
@ -1,17 +1,13 @@
|
||||
Summary: A library of functions for manipulating TIFF format image files.
|
||||
Name: libtiff
|
||||
Version: 3.7.1
|
||||
Release: 6
|
||||
Version: 3.7.2
|
||||
Release: 1
|
||||
License: distributable
|
||||
Group: System Environment/Libraries
|
||||
Source0: http://www.libtiff.org/tiff-%{version}.tar.gz
|
||||
Patch0: libtiff-v3.6.1-64bit.patch
|
||||
Patch1: libtiff-3.5.7-dump.patch
|
||||
# http://bugzilla.remotesensing.org/show_bug.cgi?id=718, fixed in 3.7.2
|
||||
Patch2: libtiff-3.7.1-extrasamples.patch
|
||||
Patch3: libtiff-3.7.1-mktemp.patch
|
||||
# http://bugzilla.remotesensing.org/show_bug.cgi?id=843, fixed in 3.7.3
|
||||
Patch4: libtiff-3.7.1-persample.patch
|
||||
Patch1: libtiff-3.7.2-persample.patch
|
||||
URL: http://www.libtiff.org/
|
||||
BuildRoot: %{_tmppath}/%{name}-root
|
||||
BuildRequires: zlib-devel zlib libjpeg-devel libjpeg
|
||||
@ -45,10 +41,7 @@ install the libtiff package.
|
||||
|
||||
%setup -q -n tiff-%{version}
|
||||
%patch0 -p1 -b .64bit
|
||||
%patch1 -p1 -b .dump
|
||||
%patch2 -p1 -b .extrasamples
|
||||
%patch3 -p1 -b .mktemp
|
||||
%patch4 -p1 -b .persample
|
||||
%patch1 -p1 -b .persample
|
||||
|
||||
%build
|
||||
|
||||
@ -87,6 +80,10 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_mandir}/man3/*
|
||||
|
||||
%changelog
|
||||
* Wed Jun 29 2005 Matthias Clasen <mclasen@redhat.com> - 3.7.2-1
|
||||
- Update to 3.7.2
|
||||
- Drop upstreamed patches
|
||||
|
||||
* Fri May 6 2005 Matthias Clasen <mclasen@redhat.com> - 3.7.1-6
|
||||
- Fix a stack overflow
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user