Sat Mar 27 15:59:34 2010 UTC ()
Add a patch to fix CVE-2010-0421, DoS security fix.

Bump PKGREVISION.


(taca)
diff -r1.140 -r1.141 pkgsrc/devel/pango/Makefile
diff -r1.82 -r1.83 pkgsrc/devel/pango/distinfo
diff -r0 -r1.1 pkgsrc/devel/pango/patches/patch-am

cvs diff -r1.140 -r1.141 pkgsrc/devel/pango/Makefile (switch to unified diff)

--- pkgsrc/devel/pango/Makefile 2010/02/21 23:51:25 1.140
+++ pkgsrc/devel/pango/Makefile 2010/03/27 15:59:33 1.141
@@ -1,59 +1,59 @@ @@ -1,59 +1,59 @@
1# $NetBSD: Makefile,v 1.140 2010/02/21 23:51:25 tron Exp $ 1# $NetBSD: Makefile,v 1.141 2010/03/27 15:59:33 taca Exp $
2 2
3DISTNAME= pango-1.26.2 3DISTNAME= pango-1.26.2
4PKGREVISION= 1 4PKGREVISION= 2
5CATEGORIES= devel fonts 5CATEGORIES= devel fonts
6MASTER_SITES= ${MASTER_SITE_GNOME:=sources/pango/1.26/} 6MASTER_SITES= ${MASTER_SITE_GNOME:=sources/pango/1.26/}
7EXTRACT_SUFX= .tar.bz2 7EXTRACT_SUFX= .tar.bz2
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://www.pango.org/ 10HOMEPAGE= http://www.pango.org/
11COMMENT= Library for layout and rendering of text 11COMMENT= Library for layout and rendering of text
12LICENSE= gnu-lgpl-v2 12LICENSE= gnu-lgpl-v2
13 13
14PKG_INSTALLATION_TYPES= overwrite pkgviews 14PKG_INSTALLATION_TYPES= overwrite pkgviews
15PKG_DESTDIR_SUPPORT= user-destdir 15PKG_DESTDIR_SUPPORT= user-destdir
16 16
17USE_TOOLS+= gmake pkg-config 17USE_TOOLS+= gmake pkg-config
18GNU_CONFIGURE= yes 18GNU_CONFIGURE= yes
19TEST_TARGET= check 19TEST_TARGET= check
20USE_LIBTOOL= yes 20USE_LIBTOOL= yes
21USE_LANGUAGES= c c++ 21USE_LANGUAGES= c c++
22 22
23PKGCONFIG_OVERRIDE= pango-uninstalled.pc.in 23PKGCONFIG_OVERRIDE= pango-uninstalled.pc.in
24PKGCONFIG_OVERRIDE+= pango.pc.in 24PKGCONFIG_OVERRIDE+= pango.pc.in
25PKGCONFIG_OVERRIDE+= pangocairo-uninstalled.pc.in 25PKGCONFIG_OVERRIDE+= pangocairo-uninstalled.pc.in
26PKGCONFIG_OVERRIDE+= pangocairo.pc.in 26PKGCONFIG_OVERRIDE+= pangocairo.pc.in
27PKGCONFIG_OVERRIDE+= pangoft2-uninstalled.pc.in 27PKGCONFIG_OVERRIDE+= pangoft2-uninstalled.pc.in
28PKGCONFIG_OVERRIDE+= pangoft2.pc.in 28PKGCONFIG_OVERRIDE+= pangoft2.pc.in
29PKGCONFIG_OVERRIDE+= pangowin32-uninstalled.pc.in 29PKGCONFIG_OVERRIDE+= pangowin32-uninstalled.pc.in
30PKGCONFIG_OVERRIDE+= pangowin32.pc.in 30PKGCONFIG_OVERRIDE+= pangowin32.pc.in
31PKGCONFIG_OVERRIDE+= pangox-uninstalled.pc.in 31PKGCONFIG_OVERRIDE+= pangox-uninstalled.pc.in
32PKGCONFIG_OVERRIDE+= pangox.pc.in 32PKGCONFIG_OVERRIDE+= pangox.pc.in
33PKGCONFIG_OVERRIDE+= pangoxft-uninstalled.pc.in 33PKGCONFIG_OVERRIDE+= pangoxft-uninstalled.pc.in
34PKGCONFIG_OVERRIDE+= pangoxft.pc.in 34PKGCONFIG_OVERRIDE+= pangoxft.pc.in
35 35
36CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/libdata 36CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/libdata
37 37
38CHECK_FILES_SKIP+= ${PREFIX}/libdata/pango/pango.modules 38CHECK_FILES_SKIP+= ${PREFIX}/libdata/pango/pango.modules
39 39
40PLIST_VARS+= carbon 40PLIST_VARS+= carbon
41 41
42.include "options.mk" 42.include "options.mk"
43 43
44# Workaround for Upstream Bug#562310. 44# Workaround for Upstream Bug#562310.
45# for more detail, see also PR#41475. 45# for more detail, see also PR#41475.
46TOOLS_NOOP+= gtkdoc-rebase 46TOOLS_NOOP+= gtkdoc-rebase
47 47
48BUILDLINK_API_DEPENDS.glib2+= glib2>=2.17.3 48BUILDLINK_API_DEPENDS.glib2+= glib2>=2.17.3
49.include "../../devel/glib2/buildlink3.mk" 49.include "../../devel/glib2/buildlink3.mk"
50# XXX: later maybe add an option for libthai to provide pango-thai-lang.la? 50# XXX: later maybe add an option for libthai to provide pango-thai-lang.la?
51#.include "../../devel/libthai/buildlink3.mk" 51#.include "../../devel/libthai/buildlink3.mk"
52.include "../../devel/zlib/buildlink3.mk" 52.include "../../devel/zlib/buildlink3.mk"
53BUILDLINK_API_DEPENDS.cairo+= cairo>=1.8.0 53BUILDLINK_API_DEPENDS.cairo+= cairo>=1.8.0
54.include "../../graphics/cairo/buildlink3.mk" 54.include "../../graphics/cairo/buildlink3.mk"
55BUILDLINK_API_DEPENDS.fontconfig+= fontconfig>=2.5.0 55BUILDLINK_API_DEPENDS.fontconfig+= fontconfig>=2.5.0
56.include "../../fonts/fontconfig/buildlink3.mk" 56.include "../../fonts/fontconfig/buildlink3.mk"
57BUILDLINK_API_DEPENDS.Xft2+= Xft2>=2.1.7nb3 57BUILDLINK_API_DEPENDS.Xft2+= Xft2>=2.1.7nb3
58.include "../../graphics/freetype2/buildlink3.mk" 58.include "../../graphics/freetype2/buildlink3.mk"
59.include "../../mk/bsd.pkg.mk" 59.include "../../mk/bsd.pkg.mk"

cvs diff -r1.82 -r1.83 pkgsrc/devel/pango/distinfo (switch to unified diff)

--- pkgsrc/devel/pango/distinfo 2010/02/21 23:51:25 1.82
+++ pkgsrc/devel/pango/distinfo 2010/03/27 15:59:33 1.83
@@ -1,8 +1,9 @@ @@ -1,8 +1,9 @@
1$NetBSD: distinfo,v 1.82 2010/02/21 23:51:25 tron Exp $ 1$NetBSD: distinfo,v 1.83 2010/03/27 15:59:33 taca Exp $
2 2
3SHA1 (pango-1.26.2.tar.bz2) = 051b6f7b5f98a4c8083ef6a5178cb5255a992b98 3SHA1 (pango-1.26.2.tar.bz2) = 051b6f7b5f98a4c8083ef6a5178cb5255a992b98
4RMD160 (pango-1.26.2.tar.bz2) = 6613bddf643d5c912e6656d84c6671aa6ce88a9d 4RMD160 (pango-1.26.2.tar.bz2) = 6613bddf643d5c912e6656d84c6671aa6ce88a9d
5Size (pango-1.26.2.tar.bz2) = 1536011 bytes 5Size (pango-1.26.2.tar.bz2) = 1536011 bytes
6SHA1 (patch-aa) = 1a87d055dc722eff28517a11d0832ae19df5eb59 6SHA1 (patch-aa) = 1a87d055dc722eff28517a11d0832ae19df5eb59
7SHA1 (patch-ab) = 12c09b12ba31be19fa0d602f89909811e6221bd8 7SHA1 (patch-ab) = 12c09b12ba31be19fa0d602f89909811e6221bd8
8SHA1 (patch-ae) = 9eb458be84f6dfce27fb469d45cc78e34acd9c36 8SHA1 (patch-ae) = 9eb458be84f6dfce27fb469d45cc78e34acd9c36
 9SHA1 (patch-am) = dc7387b4da24356a56ab8d07ef0462b6f4b3b209

File Added: pkgsrc/devel/pango/patches/Attic/patch-am
$NetBSD: patch-am,v 1.1 2010/03/27 15:59:34 taca Exp $

Fix for CVE-2010-0421.

--- pango/opentype/hb-ot-layout.cc.orig	2009-11-26 00:44:17.000000000 +0000
+++ pango/opentype/hb-ot-layout.cc
@@ -44,6 +44,8 @@ _hb_ot_layout_init (hb_face_t *face)
 {
   hb_ot_layout_t *layout = &face->ot_layout;
 
+  memset (layout, 0, sizeof (*layout));
+
   layout->gdef_blob = Sanitizer<GDEF>::sanitize (hb_face_get_table (face, HB_OT_TAG_GDEF));
   layout->gdef = &Sanitizer<GDEF>::lock_instance (layout->gdef_blob);
 
@@ -293,7 +295,7 @@ hb_ot_layout_build_glyph_classes (hb_fac
     return;
 
   if (layout->new_gdef.len == 0) {
-    layout->new_gdef.klasses = (unsigned char *) calloc (num_total_glyphs, sizeof (unsigned char));
+    layout->new_gdef.klasses = (unsigned char *) calloc (count, sizeof (unsigned char));
     layout->new_gdef.len = count;
   }