summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Østergaard <kloeri@gentoo.org>2006-11-04 19:41:40 +0000
committerBryan Østergaard <kloeri@gentoo.org>2006-11-04 19:41:40 +0000
commit028de6e8db7e0b6d11b02aef5abbdf9f1a550496 (patch)
tree193292d7db1e7554b17ad6a163fb2ac885613680 /media-gfx/graphicsmagick
parentwww-client/amaya removal (pending 16th October 2006), see #129874 for reference. (diff)
downloadgentoo-2-028de6e8db7e0b6d11b02aef5abbdf9f1a550496.tar.gz
gentoo-2-028de6e8db7e0b6d11b02aef5abbdf9f1a550496.tar.bz2
gentoo-2-028de6e8db7e0b6d11b02aef5abbdf9f1a550496.zip
Fix overflows, bug 152668.
(Portage version: 2.1.2_rc1-r3)
Diffstat (limited to 'media-gfx/graphicsmagick')
-rw-r--r--media-gfx/graphicsmagick/ChangeLog9
-rw-r--r--media-gfx/graphicsmagick/files/digest-graphicsmagick-1.1.7-r33
-rw-r--r--media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-dcm.patch16
-rw-r--r--media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-palm.patch34
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-1.1.7-r3.ebuild109
5 files changed, 170 insertions, 1 deletions
diff --git a/media-gfx/graphicsmagick/ChangeLog b/media-gfx/graphicsmagick/ChangeLog
index 3fd2a623e148..d3983409e7ba 100644
--- a/media-gfx/graphicsmagick/ChangeLog
+++ b/media-gfx/graphicsmagick/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-gfx/graphicsmagick
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphicsmagick/ChangeLog,v 1.39 2006/10/08 00:02:20 kloeri Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphicsmagick/ChangeLog,v 1.40 2006/11/04 19:41:40 kloeri Exp $
+
+*graphicsmagick-1.1.7-r3 (04 Nov 2006)
+
+ 04 Nov 2006; Bryan Østergaard <kloeri@gentoo.org>
+ +files/graphicsmagick-1.1.7-dcm.patch,
+ +files/graphicsmagick-1.1.7-palm.patch, +graphicsmagick-1.1.7-r3.ebuild:
+ Fix overflows, bug 152668.
08 Oct 2006; Bryan Østergaard <kloeri@gentoo.org>
graphicsmagick-1.1.7-r2.ebuild:
diff --git a/media-gfx/graphicsmagick/files/digest-graphicsmagick-1.1.7-r3 b/media-gfx/graphicsmagick/files/digest-graphicsmagick-1.1.7-r3
new file mode 100644
index 000000000000..9a72057947c2
--- /dev/null
+++ b/media-gfx/graphicsmagick/files/digest-graphicsmagick-1.1.7-r3
@@ -0,0 +1,3 @@
+MD5 f75d830ca623bf10385b3ad62c48437a GraphicsMagick-1.1.7.tar.bz2 4957394
+RMD160 9193ab3b109df6ce4b80cb2c1602c86ca36e3043 GraphicsMagick-1.1.7.tar.bz2 4957394
+SHA256 95f85e8bb84cc7ad05e84988f4cd93432ab2d4b300827fef34d1ada5e69196cc GraphicsMagick-1.1.7.tar.bz2 4957394
diff --git a/media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-dcm.patch b/media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-dcm.patch
new file mode 100644
index 000000000000..a9d33d0d0595
--- /dev/null
+++ b/media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-dcm.patch
@@ -0,0 +1,16 @@
+===================================================================
+RCS file: /GraphicsMagick/GraphicsMagick/coders/dcm.c,v
+retrieving revision 1.133
+retrieving revision 1.134
+diff -u -p -r1.133 -r1.134
+--- GraphicsMagick/coders/dcm.c 2005/09/23 22:32:22 1.133
++++ GraphicsMagick/coders/dcm.c 2006/11/02 14:23:28 1.134
+@@ -3022,7 +3022,7 @@ static Image *ReadDCMImage(const ImageIn
+ /*
+ Photometric interpretation.
+ */
+- for (i=0; i < (long) length; i++)
++ for (i=0; i < (long) Min(length, MaxTextExtent-1); i++)
+ photometric[i]=data[i];
+ photometric[i]='\0';
+ break;
diff --git a/media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-palm.patch b/media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-palm.patch
new file mode 100644
index 000000000000..e2ec3a9383a7
--- /dev/null
+++ b/media-gfx/graphicsmagick/files/graphicsmagick-1.1.7-palm.patch
@@ -0,0 +1,34 @@
+===================================================================
+RCS file: /GraphicsMagick/GraphicsMagick/coders/palm.c,v
+retrieving revision 1.62
+retrieving revision 1.62.2.1
+diff -u -p -r1.62 -r1.62.2.1
+--- GraphicsMagick/coders/palm.c 2003/10/11 18:38:35 1.62
++++ GraphicsMagick/coders/palm.c 2006/11/02 14:24:05 1.62.2.1
+@@ -541,7 +541,7 @@ static Image *ReadPALMImage(const ImageI
+ image->compression = RLECompression;
+ for (i = 0; i < (long) bytes_per_row; )
+ {
+- count = ReadBlobByte(image);
++ count = Min(ReadBlobByte(image), bytes_per_row-i);
+ byte = ReadBlobByte(image);
+ memset(one_row + i, (int) byte, count);
+ i += count;
+@@ -579,6 +579,8 @@ static Image *ReadPALMImage(const ImageI
+ indexes=GetIndexes(image);
+ if(bits_per_pixel == 16)
+ {
++ if (image->columns > 2*bytes_per_row)
++ ThrowReaderException(CorruptImageError,CorruptImage,image);
+ for (x=0; x < (long) image->columns; x++)
+ {
+ color16 = (*ptr++ << 8);
+@@ -595,6 +597,8 @@ static Image *ReadPALMImage(const ImageI
+ bit = 8 - bits_per_pixel;
+ for(x = 0; x < (long) image->columns; x++)
+ {
++ if (ptr - one_row >= bytes_per_row)
++ ThrowReaderException(CorruptImageError,CorruptImage,image);
+ index =(IndexPacket) (mask - (((*ptr) & (mask << bit)) >> bit));
+ indexes[x] = index;
+ *q++ = image->colormap[index];
diff --git a/media-gfx/graphicsmagick/graphicsmagick-1.1.7-r3.ebuild b/media-gfx/graphicsmagick/graphicsmagick-1.1.7-r3.ebuild
new file mode 100644
index 000000000000..44a9cd01a11c
--- /dev/null
+++ b/media-gfx/graphicsmagick/graphicsmagick-1.1.7-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphicsmagick/graphicsmagick-1.1.7-r3.ebuild,v 1.1 2006/11/04 19:41:40 kloeri Exp $
+
+inherit libtool flag-o-matic perl-app
+
+MY_PN="GraphicsMagick"
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="A collection of tools and libraries for many image formats"
+HOMEPAGE="http://www.graphicsmagick.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="X gs jbig jpeg2k jpeg lcms lzw perl png tiff truetype wmf xml doc depth16 depth32"
+
+RDEPEND="app-arch/bzip2
+ sys-libs/zlib
+ X? ( || (
+ ( x11-libs/libXext x11-libs/libXt x11-libs/libX11 x11-libs/libICE x11-libs/libSM )
+ virtual/x11
+ ) )
+ gs? ( virtual/ghostscript )
+ jbig? ( media-libs/jbigkit )
+ jpeg2k? ( media-libs/jasper )
+ jpeg? ( >=media-libs/jpeg-6b )
+ lcms? ( >=media-libs/lcms-1.06 )
+ perl? ( dev-lang/perl )
+ png? ( media-libs/libpng )
+ tiff? ( >=media-libs/tiff-3.5.5 )
+ xml? ( >=dev-libs/libxml2-2.4.10 )
+ truetype? ( =media-libs/freetype-2* )
+ wmf? ( >=media-libs/libwmf-0.2.5 )"
+DEPEND="${RDEPEND}
+ X? ( || ( ( x11-proto/xextproto x11-proto/xproto ) virtual/x11 ) )"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-overflow.patch"
+ epatch "${FILESDIR}/${PN}-libpng.patch"
+ epatch "${FILESDIR}/${P}-dcm.patch"
+ epatch "${FILESDIR}/${P}-palm.patch"
+
+ # Netscape is still used ? More people should have Mozilla
+ sed -i 's:netscape:mozilla:g' configure
+}
+
+src_compile() {
+ DEPTH=8
+ use depth16 && DEPTH=16
+ use depth32 && DEPTH=32
+ econf \
+ --with-gs-font-dir=/usr/share/fonts/default/ghostscript \
+ --enable-shared \
+ --with-threads \
+ --with-bzlib \
+ --without-perl \
+ --without-fpx \
+ $(use_with X x) \
+ $(use_with jbig) \
+ $(use_with jpeg2k) \
+ $(use_with jpeg) \
+ $(use_with lcms) \
+ $(use_enable lzw) \
+ $(use_with png) \
+ $(use_with tiff) \
+ $(use_with truetype ttf) \
+ $(use_with wmf) \
+ $(use_with xml xml) \
+ --with-quantum-depth=${DEPTH} \
+ || die
+
+ # make PerlMagick using portage tools instead of Makefile to avoid sandbox issues
+ if use perl ; then
+ cd PerlMagick
+ perl-app_src_prep
+ perl-app_src_compile
+ cd ..
+ fi
+
+ emake || die "compile problem"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+
+ if use perl ; then
+ cd PerlMagick
+ perl-module_src_install
+ cd ..
+ fi
+
+ dosym /usr/lib/${MY_P}/ /usr/lib/GraphicsMagick
+
+ rm -f "${D}"/usr/share/GraphicsMagick/*.txt
+ rm -rf "${D}"/usr/share/${MY_P}/www
+
+ if use doc ; then
+ dohtml -r www/*
+ fi
+
+ dosed "s:-I/usr/include ::" /usr/bin/GraphicsMagick-config
+ dosed "s:-I/usr/include ::" /usr/bin/GraphicsMagick++-config
+}