diff --git a/src/hb-ot-cmap-table.hh b/src/hb-ot-cmap-table.hh index 418af0b53..cc48379bb 100644 --- a/src/hb-ot-cmap-table.hh +++ b/src/hb-ot-cmap-table.hh @@ -1108,6 +1108,9 @@ struct CmapSubtableFormat14 return; } + if (unlikely (!c->check_success (!obj_indices.in_error ()))) + return; + int tail_len = init_tail - c->tail; c->check_assign (this->length, c->length () - table_initpos + tail_len); c->check_assign (this->record.len, diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6316256152780800 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6316256152780800 new file mode 100644 index 000000000..b01eb8d96 Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-6316256152780800 differ