font/sfnt: fix dropped errors Pick up dropped errors in parseGPOSScriptFeatures() and parseGPOSKern(). Change-Id: I50d9b1feca4c69163df644702afb0c386c2987f7 Reviewed-on: https://go-review.googlesource.com/c/image/+/210499 Reviewed-by: Sebastien Binet <seb.binet@gmail.com> Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/font/sfnt/gpos.go b/font/sfnt/gpos.go index f136877..e0aafa5 100644 --- a/font/sfnt/gpos.go +++ b/font/sfnt/gpos.go
@@ -60,6 +60,9 @@ // get all lookup indices for kern features buf, lookupIdx, err := f.parseGPOSFeaturesLookup(buf, int(f.gpos.offset)+int(featureListOffset), featureIdxs, hexFeatureKern) + if err != nil { + return buf, nil, err + } // LookupTableList: lookupCount,[]lookups buf, numLookupTables, err := f.src.varLenView(buf, int(f.gpos.offset)+int(lookupListOffset), 2, 0, 2) @@ -284,6 +287,9 @@ // LangSys table: lookupOrder (reserved), requiredFeatureIndex, featureIndexCount, []featureIndices buf, numFeatures, err := f.src.varLenView(buf, offset+int(scriptTableOffset)+int(defaultLangSysOffset), 6, 4, 2) + if err != nil { + return buf, nil, err + } featureIdxs := make([]int, numFeatures) for i := range featureIdxs {