diff options
author | Bryan Østergaard <kloeri@gentoo.org> | 2006-11-04 19:41:40 +0000 |
---|---|---|
committer | Bryan Østergaard <kloeri@gentoo.org> | 2006-11-04 19:41:40 +0000 |
commit | 028de6e8db7e0b6d11b02aef5abbdf9f1a550496 (patch) | |
tree | 193292d7db1e7554b17ad6a163fb2ac885613680 | |
parent | www-client/amaya removal (pending 16th October 2006), see #129874 for reference. (diff) | |
download | gentoo-2-028de6e8db7e0b6d11b02aef5abbdf9f1a550496.tar.gz gentoo-2-028de6e8db7e0b6d11b02aef5abbdf9f1a550496.tar.bz2 gentoo-2-028de6e8db7e0b6d11b02aef5abbdf9f1a550496.zip |
Fix overflows, bug 152668.
(Portage version: 2.1.2_rc1-r3)
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 +} |