diff options
author | Jeremy Messenger <mezz@FreeBSD.org> | 2010-03-18 01:44:19 +0000 |
---|---|---|
committer | Jeremy Messenger <mezz@FreeBSD.org> | 2010-03-18 01:44:19 +0000 |
commit | e44121e1c4841e56d184c743caee37e0a373a9dc (patch) | |
tree | 1172d5e8fc2d2c871f0eda6e9095ae06259fb8d8 /x11-toolkits | |
parent | 176e5b4e58cc030f3cd428cac05e63e9c829e489 (diff) | |
download | ports-e44121e1c4841e56d184c743caee37e0a373a9dc.tar.gz ports-e44121e1c4841e56d184c743caee37e0a373a9dc.zip |
Notes
Diffstat (limited to 'x11-toolkits')
-rw-r--r-- | x11-toolkits/pango/Makefile | 2 | ||||
-rw-r--r-- | x11-toolkits/pango/files/patch-64bit_safe | 48 |
2 files changed, 49 insertions, 1 deletions
diff --git a/x11-toolkits/pango/Makefile b/x11-toolkits/pango/Makefile index 6c17a364b0ef..d14a785cf8ce 100644 --- a/x11-toolkits/pango/Makefile +++ b/x11-toolkits/pango/Makefile @@ -8,7 +8,7 @@ PORTNAME= pango PORTVERSION= 1.26.2 -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= x11-toolkits MASTER_SITES= GNOME \ ftp://ftp.gtk.org/pub/pango/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/ diff --git a/x11-toolkits/pango/files/patch-64bit_safe b/x11-toolkits/pango/files/patch-64bit_safe new file mode 100644 index 000000000000..54c00ddc82ea --- /dev/null +++ b/x11-toolkits/pango/files/patch-64bit_safe @@ -0,0 +1,48 @@ +From 952847a6e2d53b33cea39d13255fd0f7c8075942 Mon Sep 17 00:00:00 2001 +From: Behdad Esfahbod <behdad@behdad.org> +Date: Tue, 23 Feb 2010 21:44:55 +0000 +Subject: Make blob unlocking 64bit-safe + +Bug 604128 - Applications crash when displaying Hebrew characters +--- +diff --git a/pango/opentype/hb-blob.c b/pango/opentype/hb-blob.c +index 107cd43..3348a38 100644 +--- pango.orig/opentype/hb-blob.c ++++ pango/opentype/hb-blob.c +@@ -243,18 +243,18 @@ static hb_bool_t + _try_make_writable_inplace_unix_locked (hb_blob_t *blob) + { + #if defined(HAVE_SYS_MMAN_H) && defined(HAVE_MPROTECT) +- unsigned int pagesize = -1, mask, length; ++ uintptr_t pagesize = -1, mask, length; + const char *addr; + + #if defined(HAVE_SYSCONF) && defined(_SC_PAGE_SIZE) +- pagesize = (unsigned int) sysconf (_SC_PAGE_SIZE); ++ pagesize = (uintptr_t) sysconf (_SC_PAGE_SIZE); + #elif defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) +- pagesize = (unsigned int) sysconf (_SC_PAGESIZE); ++ pagesize = (uintptr_t) sysconf (_SC_PAGESIZE); + #elif defined(HAVE_GETPAGESIZE) +- pagesize = (unsigned int) getpagesize (); ++ pagesize = (uintptr_t) getpagesize (); + #endif + +- if ((unsigned int) -1 == pagesize) { ++ if ((uintptr_t) -1L == pagesize) { + #if HB_DEBUG_BLOB + fprintf (stderr, "%p %s: failed to get pagesize: %s\n", blob, __FUNCTION__, strerror (errno)); + #endif +@@ -265,8 +265,8 @@ _try_make_writable_inplace_unix_locked (hb_blob_t *blob) + #endif + + mask = ~(pagesize-1); +- addr = (const char *) (((size_t) blob->data) & mask); +- length = (const char *) (((size_t) blob->data + blob->length + pagesize-1) & mask) - addr; ++ addr = (const char *) (((uintptr_t) blob->data) & mask); ++ length = (const char *) (((uintptr_t) blob->data + blob->length + pagesize-1) & mask) - addr; + #if HB_DEBUG_BLOB + fprintf (stderr, "%p %s: calling mprotect on [%p..%p] (%d bytes)\n", + blob, __FUNCTION__, +-- +cgit v0.8.3.1 |