font/sfnt: fix Font.GlyphIndex nil Buffer dereference Fixes golang/go#46948 Change-Id: Ie3a2e60cf858ebeded73686bbac3e8d8448132a8 Reviewed-on: https://go-review.googlesource.com/c/image/+/398774 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Nigel Tao <nigeltao@golang.org> Auto-Submit: Nigel Tao <nigeltao@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Nigel Tao (INACTIVE; USE @golang.org INSTEAD) <nigeltao@google.com>
diff --git a/font/sfnt/cmap.go b/font/sfnt/cmap.go index 55b4ead..2035ea9 100644 --- a/font/sfnt/cmap.go +++ b/font/sfnt/cmap.go
@@ -186,6 +186,9 @@ if offset > indexesLength || offset+2 > indexesLength { return 0, errInvalidCmapTable } + if b == nil { + b = &Buffer{} + } x, err := b.view(&f.src, int(indexesBase+offset), 2) if err != nil { return 0, err