font/plan9font: limit the font image's dimensions

Fixes golang/go#57258

Change-Id: I0249e422470219594188d050ebd6dc42f1646dff
Reviewed-on: https://go-review.googlesource.com/c/image/+/458095
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Nigel Tao (INACTIVE; USE @golang.org INSTEAD) <nigeltao@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Nigel Tao <nigeltao@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
This commit is contained in:
Nigel Tao 2022-12-16 18:55:15 +11:00
Родитель c5235ae222
Коммит 9b8a3be425
1 изменённых файлов: 5 добавлений и 0 удалений

Просмотреть файл

@ -465,6 +465,11 @@ func parseImage(data []byte) (remainingData []byte, m *plan9Image, retErr error)
}
width := bytesPerLine(r, depth)
// These bounds are somewhat arbitrary, but multiplying them together won't
// overflow an int32.
if (width > 0xffff) || (r.Dy() > 0x7fff) {
return nil, nil, errors.New("plan9font: unsupported dimensions")
}
m = &plan9Image{
depth: depth,
width: width,