Date: Tuesday, October 2, 2012 @ 11:03:19 Author: foutrelis Revision: 167545
upgpkg: cairo 1.12.2-3 Fix FS#31509: libcairo.so segfault when printing certain PDF files Added: cairo/trunk/cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch Modified: cairo/trunk/PKGBUILD -----------------------------------------------------+ PKGBUILD | 8 ++- cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch | 37 ++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-10-02 13:24:36 UTC (rev 167544) +++ PKGBUILD 2012-10-02 15:03:19 UTC (rev 167545) @@ -6,7 +6,7 @@ #_gitdate=20120426 #_gitver=957a9cc619965178a8927d114fe852034fc2385c pkgver=1.12.2 -pkgrel=2 +pkgrel=3 pkgdesc="Cairo vector graphics library" arch=(i686 x86_64) license=('LGPL' 'MPL') @@ -21,11 +21,13 @@ #$pkgname-$pkgver.tar.gz::http://cgit.freedesktop.org/cairo/snapshot/cairo-${_gitver}.tar.gz cairo-1.10.0-buggy_gradients.patch cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch + cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch #git_fixes.patch ) md5sums=('87649eb75789739d517c743e94879e51' '9b323790dab003e228c6955633cb888e' - '75ec73746cfaefcbed0e9b2a9f76bf00') + '75ec73746cfaefcbed0e9b2a9f76bf00' + '56f64466fd70ead732b00691464144f2') build() { cd "$srcdir/$pkgname-$pkgver" @@ -33,6 +35,8 @@ patch -Np1 -i ${srcdir}/cairo-1.10.0-buggy_gradients.patch # https://bugs.freedesktop.org/show_bug.cgi?id=50852 patch -Np1 -i ${srcdir}/cairo-1.12.2-reduce-broken-stopped-edge-continuation.patch + # https://bugs.freedesktop.org/show_bug.cgi?id=51443 + patch -Np1 -i ${srcdir}/cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch # status is 2012-04-26 last commit: image: Fix typo in _blit_spans() #patch -Np1 -i ${srcdir}/git_fixes.patch autoreconf -vfi Added: cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch =================================================================== --- cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch (rev 0) +++ cairo-1.12.2-ignore-charset-for-non-cid-fonts.patch 2012-10-02 15:03:19 UTC (rev 167545) @@ -0,0 +1,37 @@ +From 2f1d6b27e8b78c77346a5b603114b54400e57d83 Mon Sep 17 00:00:00 2001 +From: Adrian Johnson <ajohn...@redneon.com> +Date: Thu, 07 Jun 2012 09:48:52 +0000 +Subject: cff-subsetting: Ignore charset for non cid fonts + +Fixes crash in https://bugzilla.gnome.org/show_bug.cgi?id=677422 +--- +diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c +index db6fdf7..6f0cd66 100644 +--- a/src/cairo-cff-subset.c ++++ b/src/cairo-cff-subset.c +@@ -1178,14 +1178,16 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) + goto fail; + font->num_glyphs = _cairo_array_num_elements (&font->charstrings_index); + +- operand = cff_dict_get_operands (font->top_dict, CHARSET_OP, &size); +- if (font->is_cid && !operand) +- return CAIRO_INT_STATUS_UNSUPPORTED; ++ if (font->is_cid) { ++ operand = cff_dict_get_operands (font->top_dict, CHARSET_OP, &size); ++ if (!operand) ++ return CAIRO_INT_STATUS_UNSUPPORTED; + +- decode_integer (operand, &offset); +- font->charset = font->data + offset; +- if (font->charset >= font->data_end) +- return CAIRO_INT_STATUS_UNSUPPORTED; ++ decode_integer (operand, &offset); ++ font->charset = font->data + offset; ++ if (font->charset >= font->data_end) ++ return CAIRO_INT_STATUS_UNSUPPORTED; ++ } + + if (!font->is_opentype) + cairo_cff_font_read_font_metrics (font, font->top_dict); +-- +cgit v0.9.0.2-2-gbebe