[subset] Fix fuzzer found memory leaks.
This commit is contained in:
parent
ab87d7d225
commit
79ae6b657f
|
@ -346,8 +346,10 @@ _get_hb_font_with_variations (const hb_subset_plan_t *plan)
|
||||||
hb_font_t *font = hb_font_create (plan->source);
|
hb_font_t *font = hb_font_create (plan->source);
|
||||||
|
|
||||||
hb_vector_t<hb_variation_t> vars;
|
hb_vector_t<hb_variation_t> vars;
|
||||||
if (!vars.alloc (plan->user_axes_location.get_population ()))
|
if (!vars.alloc (plan->user_axes_location.get_population ())) {
|
||||||
|
hb_font_destroy (font);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
for (auto _ : plan->user_axes_location)
|
for (auto _ : plan->user_axes_location)
|
||||||
{
|
{
|
||||||
|
@ -383,8 +385,11 @@ _collect_layout_variation_indices (hb_subset_plan_t* plan)
|
||||||
bool collect_delta = plan->pinned_at_default ? false : true;
|
bool collect_delta = plan->pinned_at_default ? false : true;
|
||||||
if (collect_delta)
|
if (collect_delta)
|
||||||
{
|
{
|
||||||
if (unlikely (!plan->check_success (font = _get_hb_font_with_variations (plan))))
|
if (unlikely (!plan->check_success (font = _get_hb_font_with_variations (plan)))) {
|
||||||
|
gdef.destroy ();
|
||||||
|
gpos.destroy ();
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (gdef->has_var_store ())
|
if (gdef->has_var_store ())
|
||||||
{
|
{
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue