diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh index 117aeaad4..bc7e91c03 100644 --- a/src/hb-ot-layout-gsubgpos.hh +++ b/src/hb-ot-layout-gsubgpos.hh @@ -120,6 +120,8 @@ struct hb_closure_context_t : } hb_set_t *covered_glyph_set = done_lookups_glyph_set->get (lookup_index); + if (covered_glyph_set->in_error ()) + return true; if (parent_active_glyphs ()->is_subset (covered_glyph_set)) return true; diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5416421032067072 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5416421032067072 new file mode 100644 index 000000000..6b245f3a7 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5416421032067072 differ