contrib/harfbuzz-unicode.c | 2 +- src/harfbuzz-gpos.c | 3 +++ src/harfbuzz-indic.cpp | 4 ++-- src/harfbuzz-tibetan.c | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-)
New commits: commit 93d8573ddcf97648983a1c1b5cdda8a3ec6d4432 Author: Behdad Esfahbod <[email protected]> Date: Tue Nov 1 13:33:18 2011 -0400 Fix bug in contrib/harfbuzz-unicode.c diff --git a/contrib/harfbuzz-unicode.c b/contrib/harfbuzz-unicode.c index 049e0ca..ce4f8e2 100644 --- a/contrib/harfbuzz-unicode.c +++ b/contrib/harfbuzz-unicode.c @@ -165,7 +165,7 @@ hb_utf16_script_run_prev(unsigned *num_code_points, HB_ScriptItem *output, const HB_Script script = code_point_to_script(cp); if (script != current_script) { - if (current_script == init_script == HB_Script_Inherited) { + if (current_script == HB_Script_Inherited && init_script == HB_Script_Inherited) { // If we started off as inherited, we take whatever we can find. output->script = script; current_script = script; commit ff0612c2e7df1b86fc702c72e3015a6a5ae39b4c Author: Behdad Esfahbod <[email protected]> Date: Thu Sep 8 00:42:54 2011 -0400 Fix OOB access possibility in old harfbuzz As reported by Kenichi Ishibashi. diff --git a/src/harfbuzz-tibetan.c b/src/harfbuzz-tibetan.c index bfa31b1..847ac52 100644 --- a/src/harfbuzz-tibetan.c +++ b/src/harfbuzz-tibetan.c @@ -90,7 +90,7 @@ static const unsigned char tibetanForm[0x80] = { #define tibetan_form(c) \ - (TibetanForm)tibetanForm[c - 0x0f40] + ((c) >= 0x0f40 && (c) <= 0x0fc0 ? (TibetanForm)tibetanForm[(c) - 0x0f40] : TibetanOther) static const HB_OpenTypeFeature tibetan_features[] = { { HB_MAKE_TAG('c', 'c', 'm', 'p'), CcmpProperty }, commit 81f2ecafa19b602f950df5a9e6e1b99c4b5ea55e Author: Behdad Esfahbod <[email protected]> Date: Tue Jun 14 16:40:17 2011 -0400 Bug 30319 - open type init feature applied on character U+09c7 even... diff --git a/src/harfbuzz-indic.cpp b/src/harfbuzz-indic.cpp index 4d8418b..ffe9573 100644 --- a/src/harfbuzz-indic.cpp +++ b/src/harfbuzz-indic.cpp @@ -37,7 +37,7 @@ static HB_Bool isLetter(HB_UChar16 ucs) FLAG(HB_Letter_Titlecase) | FLAG(HB_Letter_Modifier) | FLAG(HB_Letter_Other); - return FLAG(HB_GetUnicodeCharCategory(ucs)) & test; + return !!(FLAG(HB_GetUnicodeCharCategory(ucs)) & test); } static HB_Bool isMark(HB_UChar16 ucs) @@ -45,7 +45,7 @@ static HB_Bool isMark(HB_UChar16 ucs) const int test = FLAG(HB_Mark_NonSpacing) | FLAG(HB_Mark_SpacingCombining) | FLAG(HB_Mark_Enclosing); - return FLAG(HB_GetUnicodeCharCategory(ucs)) & test; + return !!(FLAG(HB_GetUnicodeCharCategory(ucs)) & test); } enum Form { commit 81c8ef785b079980ad5b46be4fe7c7bf156dbf65 Author: Behdad Esfahbod <[email protected]> Date: Tue May 10 15:47:24 2011 -0400 Fix crash! diff --git a/src/harfbuzz-gpos.c b/src/harfbuzz-gpos.c index a216005..7bd3b3b 100644 --- a/src/harfbuzz-gpos.c +++ b/src/harfbuzz-gpos.c @@ -3012,6 +3012,9 @@ static HB_Error Lookup_MarkMarkPos( GPOS_Instance* gpi, j--; } + if ( i > buffer->in_pos ) + return HB_Err_Not_Covered; + error = _HB_OPEN_Coverage_Index( &mmp->Mark2Coverage, IN_GLYPH( j ), &mark2_index ); if ( error ) _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
