diff --git a/src/hb-subset.cc b/src/hb-subset.cc index c0752acc1..292a01000 100644 --- a/src/hb-subset.cc +++ b/src/hb-subset.cc @@ -238,6 +238,11 @@ _subset_table (hb_subset_plan_t *plan, static bool _should_drop_table (hb_subset_plan_t *plan, hb_tag_t tag) { + if (!tag) + /* Drop tables with no tag as that means table header in + _hb_face_builder_reference_table */ + return true; + if (plan->drop_tables->has (tag)) return true; diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5675720390475776 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5675720390475776 new file mode 100644 index 000000000..3881fbe61 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5675720390475776 differ