From 492b56eed112c59a13dfb7d90e39271dc4e42f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Fri, 11 Feb 2011 09:13:27 +0000 Subject: [PATCH] Resolves: rhbz#674328 yet more ways that freeserif crashes libicu --- icu.8320.freeserif.crash.patch | 15 +++++++++++++-- icu.spec | 5 ++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/icu.8320.freeserif.crash.patch b/icu.8320.freeserif.crash.patch index 65e61c8..b2d8ebe 100644 --- a/icu.8320.freeserif.crash.patch +++ b/icu.8320.freeserif.crash.patch @@ -2,10 +2,10 @@ +++ icu/source/layout/LookupProcessor.h 2011-02-03 09:25:34.498396208 +0000 @@ -58,6 +58,7 @@ const FeatureListTable *featureListTable; - + FeatureMask *lookupSelectArray; + le_uint32 lookupSelectCount; - + le_uint16 *lookupOrderArray; le_uint32 lookupOrderCount; --- icu/source/layout/LookupProcessor.cpp 2011-02-02 12:29:54.369077099 +0000 @@ -49,3 +49,14 @@ le_int32 count, order = 0; le_int32 featureReferences = 0; const FeatureTable *featureTable = NULL; +@@ -186,6 +195,10 @@ + le_uint16 featureIndex = SWAPW(langSysTable->featureIndexArray[feature]); + + featureTable = featureListTable->getFeatureTable(featureIndex, &featureTag); ++ ++ if (!featureTable) ++ continue; ++ + featureReferences += SWAPW(featureTable->lookupCount); + } + diff --git a/icu.spec b/icu.spec index 0132c53..5be7acc 100644 --- a/icu.spec +++ b/icu.spec @@ -1,6 +1,6 @@ Name: icu Version: 4.4.2 -Release: 6%{?dist} +Release: 7%{?dist} Summary: International Components for Unicode Group: Development/Tools License: MIT and UCD and Public Domain @@ -148,6 +148,9 @@ rm -rf $RPM_BUILD_ROOT %doc source/__docs/%{name}/html/* %changelog +* Fri Feb 11 2011 Caolán McNamara - 4.4.2-7 +- Resolves: rhbz#674328 yet more ways that freeserif crashes libicu + * Thu Feb 03 2011 Caolán McNamara - 4.4.2-6 - Resolves: rhbz#674328 more ways that freeserif crashes libicu