From 18fae34cadb3ae5f38de3cb36bc6beede0ec1309 Mon Sep 17 00:00:00 2001 From: Sascha Brawer Date: Wed, 25 Oct 2017 06:49:23 +0200 Subject: [PATCH] [morx] Make sure that morx subtables have the expected length --- Lib/fontTools/ttLib/tables/otConverters.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Lib/fontTools/ttLib/tables/otConverters.py b/Lib/fontTools/ttLib/tables/otConverters.py index 8c507b1ed..d9cb0bd37 100644 --- a/Lib/fontTools/ttLib/tables/otConverters.py +++ b/Lib/fontTools/ttLib/tables/otConverters.py @@ -902,9 +902,11 @@ class MorxSubtableConverter(BaseConverter): # The easiest way to pass this along is to create a new reader # that works on just the subtable as its data. headerLength = reader.pos - pos - subReader = OTTableReader( - data=reader.data[reader.pos : reader.pos + m.StructLength - headerLength], - tableTag=reader.tableTag) + data = reader.data[ + reader.pos + : reader.pos + m.StructLength - headerLength] + assert len(data) == m.StructLength - headerLength + subReader = OTTableReader(data=data, tableTag=reader.tableTag) m.SubStruct = tableClass() m.SubStruct.decompile(subReader, font) reader.seek(pos + m.StructLength)