summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Boshell <leonardop@gentoo.org>2005-11-15 16:27:41 +0000
committerLeonardo Boshell <leonardop@gentoo.org>2005-11-15 16:27:41 +0000
commit03d43ce9cc8eba497835ce1fb35b09bced9b4461 (patch)
treeb66c1e8dc39f0959598abd23b3d871fa3a97296a
parentmodified export MOZ_THUNDERBIRD as it is obsolete (diff)
downloadgentoo-2-03d43ce9cc8eba497835ce1fb35b09bced9b4461.tar.gz
gentoo-2-03d43ce9cc8eba497835ce1fb35b09bced9b4461.tar.bz2
gentoo-2-03d43ce9cc8eba497835ce1fb35b09bced9b4461.zip
Revision bump with a modified patch to fix vulnerabilities in the XPM loader (bug #112608). Pruning old ebuilds.
(Portage version: 2.0.53_rc7)
-rw-r--r--media-libs/gdk-pixbuf/ChangeLog12
-rw-r--r--media-libs/gdk-pixbuf/Manifest17
-rw-r--r--media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r21
-rw-r--r--media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r41
-rw-r--r--media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r5 (renamed from media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0)0
-rw-r--r--media-libs/gdk-pixbuf/files/gdk-pixbuf-0.22.0-loaders.patch101
-rw-r--r--media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r2.ebuild55
-rw-r--r--media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r5.ebuild (renamed from media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r4.ebuild)5
-rw-r--r--media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0.ebuild51
9 files changed, 97 insertions, 146 deletions
diff --git a/media-libs/gdk-pixbuf/ChangeLog b/media-libs/gdk-pixbuf/ChangeLog
index a4cf789c759d..019e905c6ba7 100644
--- a/media-libs/gdk-pixbuf/ChangeLog
+++ b/media-libs/gdk-pixbuf/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-libs/gdk-pixbuf
-# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/gdk-pixbuf/ChangeLog,v 1.41 2004/12/29 00:43:15 ciaranm Exp $
+# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/gdk-pixbuf/ChangeLog,v 1.42 2005/11/15 16:27:41 leonardop Exp $
+
+*gdk-pixbuf-0.22.0-r5 (15 Nov 2005)
+
+ 15 Nov 2005; Leonardo Boshell <leonardop@gentoo.org>
+ files/gdk-pixbuf-0.22.0-loaders.patch, +gdk-pixbuf-0.22.0-r5.ebuild:
+ Modified patch to fix a few more probems with the XPM loader (bug #112608).
+ Revision bump to propagate the changes, and marked stable on all arches that
+ reported back successful testing.
29 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> :
Change encoding to UTF-8 for GLEP 31 compliance
diff --git a/media-libs/gdk-pixbuf/Manifest b/media-libs/gdk-pixbuf/Manifest
index 47832630f7c6..ffaf7b762421 100644
--- a/media-libs/gdk-pixbuf/Manifest
+++ b/media-libs/gdk-pixbuf/Manifest
@@ -1,14 +1,13 @@
+MD5 7380591835e08a67a215f292e6fb3130 .gdk-pixbuf-0.22.0-r5.ebuild.swp 4096
MD5 c8b5e670856dfc60c58cf653f8c5372e ChangeLog 5943
-MD5 3826b463f06d731336873a516b683bd4 gdk-pixbuf-0.22.0-r2.ebuild 1502
-MD5 18aa044e5155ebc7a6cd0e32c86c5de1 gdk-pixbuf-0.22.0.ebuild 1306
-MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
-MD5 9dcfbabc6910dbdf835de445608d844d gdk-pixbuf-0.22.0-r3.ebuild 1678
-MD5 598879cf073da6fe3495b1ae5feca191 gdk-pixbuf-0.22.0-r4.ebuild 1706
-MD5 7cb705de10c34e6b633af2ff2912e908 files/digest-gdk-pixbuf-0.22.0 70
-MD5 7cb705de10c34e6b633af2ff2912e908 files/digest-gdk-pixbuf-0.22.0-r2 70
MD5 7cb705de10c34e6b633af2ff2912e908 files/digest-gdk-pixbuf-0.22.0-r3 70
-MD5 5f59d5772b1482d885a180dbc581cf84 files/gdk-pixbuf-0.22.0-bmp_secure.patch 557
-MD5 6311cee2e3fa5106adf17758b5dab6c6 files/gdk-pixbuf-0.22.0-loaders.patch 2307
MD5 7cb705de10c34e6b633af2ff2912e908 files/digest-gdk-pixbuf-0.22.0-r4 70
+MD5 7cb705de10c34e6b633af2ff2912e908 files/digest-gdk-pixbuf-0.22.0-r5 70
MD5 d1fb93f1ae994875158a7e0c108c36f8 files/gdk-pixbuf-0.22.0-bmp_reject_corrupt.patch 1157
+MD5 5f59d5772b1482d885a180dbc581cf84 files/gdk-pixbuf-0.22.0-bmp_secure.patch 557
+MD5 3cf31ae0509747f72ac27a9fd96109c2 files/gdk-pixbuf-0.22.0-loaders.patch 3589
MD5 3edfa9fe9382fd8206d6238ec121a5af files/gdk-pixbuf-0.22.0-m4.patch 276
+MD5 9dcfbabc6910dbdf835de445608d844d gdk-pixbuf-0.22.0-r3.ebuild 1678
+MD5 598879cf073da6fe3495b1ae5feca191 gdk-pixbuf-0.22.0-r4.ebuild 1706
+MD5 18ac75c3b5f2aebe39d5864476e377cd gdk-pixbuf-0.22.0-r5.ebuild 1707
+MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
diff --git a/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r2 b/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r2
deleted file mode 100644
index ce45f33770cf..000000000000
--- a/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 05fcb68ceaa338614ab650c775efc2f2 gdk-pixbuf-0.22.0.tar.bz2 398208
diff --git a/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r4 b/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r4
deleted file mode 100644
index ce45f33770cf..000000000000
--- a/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 05fcb68ceaa338614ab650c775efc2f2 gdk-pixbuf-0.22.0.tar.bz2 398208
diff --git a/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0 b/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r5
index ce45f33770cf..ce45f33770cf 100644
--- a/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0
+++ b/media-libs/gdk-pixbuf/files/digest-gdk-pixbuf-0.22.0-r5
diff --git a/media-libs/gdk-pixbuf/files/gdk-pixbuf-0.22.0-loaders.patch b/media-libs/gdk-pixbuf/files/gdk-pixbuf-0.22.0-loaders.patch
index 9fbe93f59bef..068653808c03 100644
--- a/media-libs/gdk-pixbuf/files/gdk-pixbuf-0.22.0-loaders.patch
+++ b/media-libs/gdk-pixbuf/files/gdk-pixbuf-0.22.0-loaders.patch
@@ -1,5 +1,6 @@
---- gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c.loaders 2004-09-15 13:32:28.397302000 -0400
-+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c 2004-09-15 13:32:28.441258000 -0400
+diff -NurdB gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-ico.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-ico.c 2002-09-27 17:19:15.000000000 -0500
++++ gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-ico.c 2005-10-27 11:28:23.000000000 -0500
@@ -330,6 +330,9 @@
State->HeaderSize+=I;
@@ -10,8 +11,9 @@
if (State->HeaderSize>State->BytesInHeaderBuf) {
guchar *tmp=realloc(State->HeaderBuf,State->HeaderSize);
if (!tmp)
---- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c.loaders 2001-03-01 15:16:28.000000000 -0500
-+++ gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c 2004-09-15 13:41:09.804373000 -0400
+diff -NurdB gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-xpm.c
+--- gdk-pixbuf-0.22.0/gdk-pixbuf/io-xpm.c 2001-03-01 15:16:28.000000000 -0500
++++ gdk-pixbuf-0.22.0-patched/gdk-pixbuf/io-xpm.c 2005-10-27 11:29:14.000000000 -0500
@@ -243,8 +243,8 @@
break;
else {
@@ -23,7 +25,41 @@
}
strncat (color, temp, space);
-@@ -352,16 +352,31 @@
+@@ -281,7 +281,8 @@
+ /* Fall through to the xpm_read_string. */
+
+ case op_body:
+- xpm_read_string (h->infile, &h->buffer, &h->buffer_size);
++ if(!xpm_read_string (h->infile, &h->buffer, &h->buffer_size))
++ return NULL;
+ return h->buffer;
+
+ default:
+@@ -317,13 +318,6 @@
+ return NULL;
+ }
+
+-/* Destroy notification function for the pixbuf */
+-static void
+-free_buffer (guchar *pixels, gpointer data)
+-{
+- free (pixels);
+-}
+-
+ static gboolean
+ xpm_color_parse (const char *spec, XColor *color)
+ {
+@@ -342,7 +336,8 @@
+ gchar pixel_str[32];
+ GHashTable *color_hash;
+ _XPMColor *colors, *color, *fallbackcolor;
+- guchar *pixels, *pixtmp;
++ guchar *pixtmp;
++ GdkPixbuf* pixbuf;
+
+ fallbackcolor = NULL;
+
+@@ -352,16 +347,33 @@
return NULL;
}
sscanf (buffer, "%d %d %d %d", &w, &h, &n_col, &cpp);
@@ -33,7 +69,9 @@
+ g_warning ("XPM has invalid number of chars per pixel.");
return NULL;
}
-+ if (n_col <= 0 || n_col >= G_MAXINT / (cpp + 1)) {
++ if (n_col <= 0 ||
++ n_col >= G_MAXINT / (cpp + 1) ||
++ n_col >= G_MAXINT / sizeof (_XPMColor)) {
+ g_warning ("XPM file has invalid number of colors");
+ return NULL;
+ }
@@ -43,41 +81,54 @@
- name_buf = g_new (gchar, n_col * (cpp + 1));
- colors = g_new (_XPMColor, n_col);
-+ name_buf = malloc (n_col * (cpp + 1));
++ name_buf = g_new (gchar, n_col * (cpp + 1));
+ if (!name_buf) {
+ g_warning ("Cannot allocate memory for loading XPM image");
+ g_hash_table_destroy (color_hash);
+ return NULL;
+ }
-+ colors = (_XPMColor *) malloc (sizeof (_XPMColor) * n_col);
++ colors = g_new (_XPMColor, n_col);
+ if (!colors) {
+ g_warning ("Cannot allocate memory for loading XPM image");
+ g_hash_table_destroy (color_hash);
-+ free (name_buf);
++ g_free (name_buf);
+ return NULL;
+ }
for (cnt = 0; cnt < n_col; cnt++) {
gchar *color_name;
-@@ -404,8 +419,8 @@
+@@ -397,12 +409,8 @@
+ fallbackcolor = color;
+ }
- if (!pixels) {
+- if (is_trans)
+- pixels = malloc (w * h * 4);
+- else
+- pixels = malloc (w * h * 3);
+-
+- if (!pixels) {
++ pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, is_trans, 8, w, h);
++ if (!pixbuf) {
g_hash_table_destroy (color_hash);
-- g_free (colors);
-- g_free (name_buf);
-+ free (colors);
-+ free (name_buf);
- return NULL;
+ g_free (colors);
+ g_free (name_buf);
+@@ -410,7 +418,7 @@
}
-@@ -440,8 +455,8 @@
- }
+ wbytes = w * cpp;
+- pixtmp = pixels;
++ pixtmp = pixbuf->pixels;
+
+ for (ycnt = 0; ycnt < h; ycnt++) {
+ buffer = (*get_buf) (op_body, handle);
+@@ -443,9 +451,7 @@
+ g_free (colors);
+ g_free (name_buf);
- g_hash_table_destroy (color_hash);
-- g_free (colors);
-- g_free (name_buf);
-+ free (colors);
-+ free (name_buf);
+- return gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, is_trans, 8,
+- w, h, is_trans ? (w * 4) : (w * 3),
+- free_buffer, NULL);
++ return pixbuf;
+ }
- return gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, is_trans, 8,
- w, h, is_trans ? (w * 4) : (w * 3),
+ /* Shared library entry point for file loading */
diff --git a/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r2.ebuild b/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r2.ebuild
deleted file mode 100644
index 38bd000babf2..000000000000
--- a/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r2.ebuild,v 1.15 2004/11/08 15:49:17 vapier Exp $
-
-inherit virtualx libtool gnome.org gnuconfig
-
-DESCRIPTION="GNOME Image Library"
-HOMEPAGE="http://www.gtk.org/"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sparc x86"
-IUSE="doc mmx"
-
-RDEPEND="media-libs/jpeg
- media-libs/tiff
- =x11-libs/gtk+-1.2*
- >=media-libs/libpng-1.2.1
- amd64? ( sys-libs/db )
- !amd64? ( <sys-libs/db-2 )
- >=gnome-base/gnome-libs-1.4.1.2-r1"
-# We need gnome-libs here, else gnome support do not get compiled into
-# gdk-pixbuf (the GnomeCanvasPixbuf library )
-DEPEND="${RDEPEND}
- doc? ( dev-util/gtk-doc )"
-
-src_compile() {
- #allow to build on mipslinux systems
- gnuconfig_update
-
- local myconf
- #update libtool, else we get the "relink bug"
- elibtoolize
-
- use doc && myconf="--enable-gtk-doc" \
- || myconf="--disable-gtk-doc"
- use mmx || myconf="${myconf} --disable-mmx"
- econf --sysconfdir=/etc/X11/gdk-pixbuf ${myconf} || die
-
- #build needs to be able to
- #connect to an X display.
- Xemake || die
-}
-
-src_install() {
- einstall \
- sysconfdir=${D}/etc/X11/gdk-pixbuf || die
-
- dosed -e "s:${D}::g" /usr/bin/gdk-pixbuf-config
- #fix permissions on the loaders
- chmod a+rx ${D}/usr/lib/gdk-pixbuf/loaders
- chmod a+r ${D}/usr/lib/gdk-pixbuf/loaders/*
-
- dodoc AUTHORS COPYING* ChangeLog INSTALL README NEWS TODO
-}
diff --git a/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r4.ebuild b/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r5.ebuild
index 3d036b87486d..e14caaaee3c8 100644
--- a/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r4.ebuild
+++ b/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r4.ebuild,v 1.2 2005/04/29 01:13:48 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0-r5.ebuild,v 1.1 2005/11/15 16:27:41 leonardop Exp $
inherit virtualx libtool gnome.org eutils
@@ -9,7 +9,7 @@ HOMEPAGE="http://www.gtk.org/"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="alpha amd64 ~arm hppa ~ia64 ~mips ppc ppc64 sparc x86"
IUSE="doc mmx"
RDEPEND="media-libs/jpeg
@@ -27,6 +27,7 @@ DEPEND="${RDEPEND}
src_unpack() {
unpack ${A}
cd "${S}"
+
epatch "${FILESDIR}"/${P}-m4.patch
# security fix (#64230)
epatch "${FILESDIR}"/${P}-bmp_secure.patch
diff --git a/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0.ebuild b/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0.ebuild
deleted file mode 100644
index 0a416372a86e..000000000000
--- a/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/gdk-pixbuf/gdk-pixbuf-0.22.0.ebuild,v 1.11 2004/07/14 19:36:25 agriffis Exp $
-
-inherit virtualx libtool gnome.org
-
-IUSE="doc"
-DESCRIPTION="GNOME Image Library"
-HOMEPAGE="http://www.gtk.org/"
-
-RDEPEND="media-libs/jpeg
- media-libs/tiff
- =x11-libs/gtk+-1.2*
- >=media-libs/libpng-1.2.1
- >=gnome-base/gnome-libs-1.4.1.2-r1"
-# We need gnome-libs here, else gnome support do not get compiled into
-# gdk-pixbuf (the GnomeCanvasPixbuf library )
-
-DEPEND="${RDEPEND}
- doc? ( dev-util/gtk-doc )"
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2"
-KEYWORDS="x86 ppc ~sparc alpha hppa ~amd64"
-
-src_compile() {
- local myconf
- #update libtool, else we get the "relink bug"
- elibtoolize
-
- use doc && myconf="--enable-gtk-doc" \
- || myconf="--disable-gtk-doc"
-
- econf --sysconfdir=/etc/X11/gdk-pixbuf || die
-
- #build needs to be able to
- #connect to an X display.
- Xemake || die
-}
-
-src_install() {
- einstall \
- sysconfdir=${D}/etc/X11/gdk-pixbuf || die
-
- dosed -e "s:${D}::g" /usr/bin/gdk-pixbuf-config
- #fix permissions on the loaders
- chmod a+rx ${D}/usr/lib/gdk-pixbuf/loaders
- chmod a+r ${D}/usr/lib/gdk-pixbuf/loaders/*
-
- dodoc AUTHORS COPYING* ChangeLog INSTALL README NEWS TODO
-}