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 {