[GDEF] Don't assume glyphlist is sorted
As was hit by the fuzzer. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14032
This commit is contained in:
parent
ecabdffc61
commit
85adf4ad5c
|
@ -1218,8 +1218,8 @@ struct ClassDefFormat1
|
||||||
return_trace (true);
|
return_trace (true);
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_codepoint_t glyph_min = glyphs[0];
|
hb_codepoint_t glyph_min = hb_iter (glyphs) | hb_reduce (hb_min, 0xFFFFu);
|
||||||
hb_codepoint_t glyph_max = glyphs[glyphs.length - 1];
|
hb_codepoint_t glyph_max = hb_iter (glyphs) | hb_reduce (hb_max, 0u);
|
||||||
|
|
||||||
startGlyph = glyph_min;
|
startGlyph = glyph_min;
|
||||||
classValue.len = glyph_max - glyph_min + 1;
|
classValue.len = glyph_max - glyph_min + 1;
|
||||||
|
@ -1510,8 +1510,8 @@ struct ClassDef
|
||||||
unsigned int format = 2;
|
unsigned int format = 2;
|
||||||
if (likely (glyphs))
|
if (likely (glyphs))
|
||||||
{
|
{
|
||||||
hb_codepoint_t glyph_min = glyphs[0];
|
hb_codepoint_t glyph_min = +glyphs | hb_reduce (hb_min, 0xFFFFu);
|
||||||
hb_codepoint_t glyph_max = glyphs[glyphs.length - 1];
|
hb_codepoint_t glyph_max = +glyphs | hb_reduce (hb_max, 0u);
|
||||||
|
|
||||||
unsigned int count = glyphs.len ();
|
unsigned int count = glyphs.len ();
|
||||||
unsigned int num_ranges = 1;
|
unsigned int num_ranges = 1;
|
||||||
|
|
Loading…
Reference in New Issue