Skip to content

Commit

Permalink
Pullup ticket #5471 - requested by sevan
Browse files Browse the repository at this point in the history
fonts/fontconfig: bugfix

Revisions pulled up:
- fonts/fontconfig/Makefile                                     1.98
- fonts/fontconfig/distinfo                                     1.56
- fonts/fontconfig/patches/patch-src_fccache.c                  1.1

---
   Module Name:    pkgsrc
   Committed By:   jperkin
   Date:           Tue May 30 16:53:14 UTC 2017

   Modified Files:
           pkgsrc/fonts/fontconfig: Makefile distinfo
   Added Files:
           pkgsrc/fonts/fontconfig/patches: patch-src_fccache.c

   Log Message:
   Apply upstream patch for https://bugs.freedesktop.org/show_bug.cgi?id=97546
   which fixes cache generation on OSX.  Raised in joyent/pkgsrc#506.

   Bump PKGREVISION.
  • Loading branch information
bsiegert committed Jun 13, 2017
1 parent d63d294 commit 5ba8189
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 2 deletions.
3 changes: 2 additions & 1 deletion fonts/fontconfig/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# $NetBSD: Makefile,v 1.97 2016/09/18 13:18:20 wiz Exp $
# $NetBSD: Makefile,v 1.97.6.1 2017/06/13 19:19:53 bsiegert Exp $

DISTNAME= fontconfig-2.12.1
PKGREVISION= 1
CATEGORIES= fonts
MASTER_SITES= http://www.fontconfig.org/release/
EXTRACT_SUFX= .tar.bz2
Expand Down
3 changes: 2 additions & 1 deletion fonts/fontconfig/distinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.55 2016/08/19 12:52:30 wiz Exp $
$NetBSD: distinfo,v 1.55.6.1 2017/06/13 19:19:53 bsiegert Exp $

SHA1 (fontconfig-2.12.1.tar.bz2) = 30d832b754fb10a3b70ebac750a38a0275438ad8
RMD160 (fontconfig-2.12.1.tar.bz2) = 66907dbb317309bcb5013ea45c53dbf5050e6376
Expand All @@ -9,6 +9,7 @@ SHA1 (patch-ac) = 4a0b7b55aa4b5c106fd256c4ef81df2240224803
SHA1 (patch-af) = d351265c894738284215f0bb38d47cc1c8f28ec7
SHA1 (patch-configure) = 4256c69b24e57d92e7b3bc9b4640d822d782ec3e
SHA1 (patch-scandir.c) = e35f4c005f635dd0d8bb949cd32aa34f5e314200
SHA1 (patch-src_fccache.c) = 5215a9ae314625f1f088011cb0a5f085d963ee83
SHA1 (patch-src_fccharset.c) = f3855554b3b3cab2530b46bc1ccec6a33303de7a
SHA1 (patch-src_fcftint.h) = d629fd7ef9713ccc56800d033ba2e09c5a9e2bff
SHA1 (patch-src_fcint.h) = 13602cc605d7dadd2f7c30633236454bb134a50a
Expand Down
37 changes: 37 additions & 0 deletions fonts/fontconfig/patches/patch-src_fccache.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
$NetBSD: patch-src_fccache.c,v 1.1.2.2 2017/06/13 19:19:53 bsiegert Exp $

Apply upstream patch for https://bugs.freedesktop.org/show_bug.cgi?id=97546

--- src/fccache.c.orig 2016-08-05 05:35:05.000000000 +0000
+++ src/fccache.c
@@ -640,6 +640,7 @@ FcCacheOffsetsValid (FcCache *cache)
FcPattern *font = FcFontSetFont (fs, i);
FcPatternElt *e;
FcValueListPtr l;
+ char *last_offset;

if ((char *) font < base ||
(char *) font > end - sizeof (FcFontSet) ||
@@ -653,11 +654,17 @@ FcCacheOffsetsValid (FcCache *cache)
if (e->values != 0 && !FcIsEncodedOffset(e->values))
return FcFalse;

- for (j = font->num, l = FcPatternEltValues(e); j >= 0 && l; j--, l = FcValueListNext(l))
- if (l->next != NULL && !FcIsEncodedOffset(l->next))
- break;
- if (j < 0)
- return FcFalse;
+ for (j = 0; j < font->num; j++)
+ {
+ last_offset = (char *) font + font->elts_offset;
+ for (l = FcPatternEltValues(&e[j]); l; l = FcValueListNext(l))
+ {
+ if ((char *) l < last_offset || (char *) l > end - sizeof (*l) ||
+ (l->next != NULL && !FcIsEncodedOffset(l->next)))
+ return FcFalse;
+ last_offset = (char *) l + 1;
+ }
+ }
}
}

0 comments on commit 5ba8189

Please sign in to comment.