diff --git a/src/hb-ot-color-colr-table.hh b/src/hb-ot-color-colr-table.hh index 936ea0b99..03476faba 100644 --- a/src/hb-ot-color-colr-table.hh +++ b/src/hb-ot-color-colr-table.hh @@ -971,7 +971,10 @@ struct ClipList const hb_map_t& gid_offset_map) const { TRACE_SERIALIZE (this); - if (gids.is_empty ()) return_trace (0); + if (gids.is_empty () || + gid_offset_map.get_population () != gids.get_population ()) + return_trace (0); + unsigned count = 0; hb_codepoint_t start_gid= gids.get_min (); diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6254792024915968 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6254792024915968 new file mode 100644 index 000000000..9debc1d5c Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6254792024915968 differ