From 461b9b6347e4f58589f5be82c40a2df61da2c715 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 1 Mar 2012 18:11:19 -0800 Subject: [PATCH] Fix cluster formation in Indic Makes number of failures against Uniscribe with hi_IN dictionary from OO.o to go down from 6334 to 4290. Not bad for a one-line change! Mozilla Bug 729626 - ASAN: heap-buffer-overflow HTML --- src/hb-ot-shape-complex-indic-machine.rl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hb-ot-shape-complex-indic-machine.rl b/src/hb-ot-shape-complex-indic-machine.rl index 53dc20df5..bcca6dab2 100644 --- a/src/hb-ot-shape-complex-indic-machine.rl +++ b/src/hb-ot-shape-complex-indic-machine.rl @@ -64,7 +64,7 @@ action found_vowel_syllable { found_vowel_syllable (map, buffer, mask_array, las action found_standalone_cluster { found_standalone_cluster (map, buffer, mask_array, last, p); } action found_non_indic { found_non_indic (map, buffer, mask_array, last, p); } -action next_syllable { set_cluster (buffer, p, last); last = p; } +action next_syllable { set_cluster (buffer, last, p); last = p; } consonant_syllable = (c.N? (z.H|H.z?))* c.N? A? (H.z? | matra_group*)? syllable_tail %(found_consonant_syllable); vowel_syllable = (Ra H)? V N? (z.H.c | ZWJ.c)? matra_group* syllable_tail %(found_vowel_syllable);