diff --git a/icu/source/layout/LookupProcessor.cpp b/icu/source/layout/LookupProcessor.cpp index 43b8e44..b67143d 100644 --- a/icu/source/layout/LookupProcessor.cpp +++ b/icu/source/layout/LookupProcessor.cpp @@ -220,7 +220,9 @@ LookupProcessor::LookupProcessor(const LETableReference &baseAddress, if (requiredFeatureIndex != 0xFFFF) { requiredFeatureTable = featureListTable->getFeatureTable(featureListTable, requiredFeatureIndex, &requiredFeatureTag, success); - featureReferences += SWAPW(featureTable->lookupCount); + if (requiredFeatureTable.isValid()) { + featureReferences += SWAPW(requiredFeatureTable->lookupCount); + } } lookupOrderArray = LE_NEW_ARRAY(le_uint16, featureReferences);