diff --git a/src/hb-repacker.hh b/src/hb-repacker.hh index 2cfff9b29..3accabb11 100644 --- a/src/hb-repacker.hh +++ b/src/hb-repacker.hh @@ -343,7 +343,9 @@ struct graph_t auto* clone = vertices_.push (); auto& child = vertices_[child_idx]; clone_buffer_t* buffer = clone_buffers_.push (); - if (!check_success (buffer->copy (child.obj))) { + if (vertices_.in_error () + || clone_buffers_.in_error () + || !check_success (buffer->copy (child.obj))) { return; } diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5616763250278400 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5616763250278400 new file mode 100644 index 000000000..d58d3f6cb Binary files /dev/null and b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5616763250278400 differ