提交 13966140 编写于 作者: G Garret Rieger

[subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc

上级 3531efdb
......@@ -43,9 +43,14 @@ _calculate_glyf_and_loca_prime_size (const OT::glyf::accelerator_t &glyf,
for (unsigned int i = 0; i < glyph_ids.len; i++)
{
hb_codepoint_t next_glyph = glyph_ids[i];
unsigned int *instruction_start = instruction_ranges->push();
unsigned int *instruction_end = instruction_ranges->push();
if (!instruction_ranges->resize (instruction_ranges->len + 2))
{
DEBUG_MSG(SUBSET, nullptr, "Failed to resize instruction_ranges.", next_glyph);
return false;
}
unsigned int *instruction_start = &(*instruction_ranges)[instruction_ranges->len - 2];
*instruction_start = 0;
unsigned int *instruction_end = &(*instruction_ranges)[instruction_ranges->len - 1];
*instruction_end = 0;
unsigned int start_offset, end_offset;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册