mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-30 08:02:38 -05:00
8e28d22c91
* gnu/packages/patches/libtiff-CVE-2012-4564.patch, gnu/packages/patches/libtiff-CVE-2013-1960.patch, gnu/packages/patches/libtiff-CVE-2013-1961.patch, gnu/packages/patches/libtiff-CVE-2013-4231.patch, gnu/packages/patches/libtiff-CVE-2013-4232.patch, gnu/packages/patches/libtiff-CVE-2013-4243.patch, gnu/packages/patches/libtiff-CVE-2013-4244.patch, gnu/packages/patches/libtiff-CVE-2014-8127-pt1.patch, gnu/packages/patches/libtiff-CVE-2014-8127-pt2.patch, gnu/packages/patches/libtiff-CVE-2014-8127-pt3.patch, gnu/packages/patches/libtiff-CVE-2014-8127-pt4.patch, gnu/packages/patches/libtiff-CVE-2014-8128-pt1.patch, gnu/packages/patches/libtiff-CVE-2014-8128-pt2.patch, gnu/packages/patches/libtiff-CVE-2014-8128-pt3.patch, gnu/packages/patches/libtiff-CVE-2014-8128-pt4.patch, gnu/packages/patches/libtiff-CVE-2014-8128-pt5.patch, gnu/packages/patches/libtiff-CVE-2014-8129.patch, gnu/packages/patches/libtiff-CVE-2014-9330.patch, gnu/packages/patches/libtiff-CVE-2014-9655.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/image.scm (libtiff)[source]: Add patches.
45 lines
1.2 KiB
Diff
45 lines
1.2 KiB
Diff
Copied from Debian
|
|
|
|
From cd82b5267ad4c10eb91e4ee8a716a81362cf851c Mon Sep 17 00:00:00 2001
|
|
From: erouault <erouault>
|
|
Date: Sun, 21 Dec 2014 18:07:48 +0000
|
|
Subject: [PATCH] * libtiff/tif_next.c: check that BitsPerSample = 2. Fixes
|
|
http://bugzilla.maptools.org/show_bug.cgi?id=2487 (CVE-2014-8129)
|
|
|
|
---
|
|
ChangeLog | 5 +++++
|
|
libtiff/tif_next.c | 17 +++++++++++++++++
|
|
2 files changed, 22 insertions(+)
|
|
|
|
diff --git a/libtiff/tif_next.c b/libtiff/tif_next.c
|
|
index a53c716..d834196 100644
|
|
--- a/libtiff/tif_next.c
|
|
+++ b/libtiff/tif_next.c
|
|
@@ -141,10 +141,27 @@ NeXTDecode(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
|
|
return (0);
|
|
}
|
|
|
|
+static int
|
|
+NeXTPreDecode(TIFF* tif, uint16 s)
|
|
+{
|
|
+ static const char module[] = "NeXTPreDecode";
|
|
+ TIFFDirectory *td = &tif->tif_dir;
|
|
+ (void)s;
|
|
+
|
|
+ if( td->td_bitspersample != 2 )
|
|
+ {
|
|
+ TIFFErrorExt(tif->tif_clientdata, module, "Unsupported BitsPerSample = %d",
|
|
+ td->td_bitspersample);
|
|
+ return (0);
|
|
+ }
|
|
+ return (1);
|
|
+}
|
|
+
|
|
int
|
|
TIFFInitNeXT(TIFF* tif, int scheme)
|
|
{
|
|
(void) scheme;
|
|
+ tif->tif_predecode = NeXTPreDecode;
|
|
tif->tif_decoderow = NeXTDecode;
|
|
tif->tif_decodestrip = NeXTDecode;
|
|
tif->tif_decodetile = NeXTDecode;
|