From e00633b8a1639a8b27751b89430cb12944fd59cb Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Wed, 4 May 2022 12:00:09 -0400 Subject: [PATCH] Corrected an issue in the extraction where a region could be set to a split tile type, causing a crash if the node name had to be discovered by a "hard search". --- VERSION | 2 +- extract/ExtBasic.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index d8da71cc..643711b8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.297 +8.3.298 diff --git a/extract/ExtBasic.c b/extract/ExtBasic.c index 1f1977fd..5d3f00f5 100644 --- a/extract/ExtBasic.c +++ b/extract/ExtBasic.c @@ -3529,7 +3529,14 @@ extSetNodeNum(reg, plane, tile) if (!SplitSide(tile) && SplitDirection(tile)) type = SplitSide(tile) ? SplitRightType(tile) : SplitLeftType(tile); else if (reg->lreg_pnum == DBNumPlanes) - type = TiGetTypeExact(tile); + { + /* Accept tile provisionally anyway */ + type = SplitSide(tile) ? SplitRightType(tile) : SplitLeftType(tile); + if ((type == TT_SPACE) || !TTMaskHasType(&DBPlaneTypes[plane], type)) + type = SplitSide(tile) ? SplitLeftType(tile) : SplitRightType(tile); + if ((type == TT_SPACE) || !TTMaskHasType(&DBPlaneTypes[plane], type)) + return; + } else return; }