From 0853e5d9d7bd15fc7782b111dcf9815d25c6d031 Mon Sep 17 00:00:00 2001 From: Garret Rieger Date: Mon, 12 Dec 2022 19:43:31 +0000 Subject: [PATCH] [subset] if table dependencies can't be resolved fail the subset. Avoids getting stuck in an infinite loop. --- src/hb-subset.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/hb-subset.cc b/src/hb-subset.cc index f169314b9..e4f164aea 100644 --- a/src/hb-subset.cc +++ b/src/hb-subset.cc @@ -604,6 +604,12 @@ hb_subset_plan_execute_or_fail (hb_subset_plan_t *plan) success = _subset_table (plan, buf, tag); if (unlikely (!success)) goto end; } + if (revisit_set == revisit_temp) { + DEBUG_MSG (SUBSET, nullptr, "Table dependencies unable to be satisfied. Subset failed."); + success = false; + goto end; + } + revisit_set = revisit_temp; } offset += num_tables;