diff --git a/src/hb-ot-cpal-table.hh b/src/hb-ot-cpal-table.hh index aade0e7332cce772c71ad5b9637d9dd4d7aa481e..740a94b3bf59236524e83062587fafbe8d061cc8 100644 --- a/src/hb-ot-cpal-table.hh +++ b/src/hb-ot-cpal-table.hh @@ -89,7 +89,6 @@ struct CPALV1Tail LOffsetTo paletteFlags; LOffsetTo paletteLabel; LOffsetTo paletteEntryLabel; - public: DEFINE_SIZE_STATIC (12); }; @@ -113,13 +112,12 @@ struct CPAL if (colorRecordIndices[i] + numPaletteEntries > colorRecords.get_size ()) return_trace (false); - if (version > 1) - { - const CPALV1Tail &v1 = StructAfter (*this); - return_trace (v1.sanitize (c, palettes)); - } - else + // If version is zero, we are done here; otherwise we need to check tail also + if (version == 0) return_trace (true); + + const CPALV1Tail &v1 = StructAfter (*this); + return_trace (v1.sanitize (c, palettes)); } inline unsigned int get_size (void) const @@ -158,7 +156,7 @@ struct CPAL HBUINT16 numPalettes; ArrayOf colorRecords; HBUINT16 colorRecordIndices[VAR]; // VAR=numPalettes - +/*CPALV1Tail v1[VAR];*/ public: DEFINE_SIZE_ARRAY (12, colorRecordIndices); };