Ensure palette is large enough to avoid panics with invalid images that have pixels refering to colors not in the palette
This commit is contained in:
parent
e11081ac09
commit
e818f01ff2
2 changed files with 2 additions and 2 deletions
|
|
@ -169,7 +169,7 @@ func newScannerRGB(img image.Image, opaque_base NRGBColor) *scanner_rgb {
|
|||
opaque_base_uint: []uint8{opaque_base.R, opaque_base.G, opaque_base.B}[0:3:3],
|
||||
}
|
||||
if img, ok := img.(*image.Paletted); ok {
|
||||
s.palette = make([]NRGBColor, len(img.Palette))
|
||||
s.palette = make([]NRGBColor, max(256, len(img.Palette)))
|
||||
d := make([]uint8, 3)
|
||||
for i := 0; i < len(img.Palette); i++ {
|
||||
r, g, b, a := img.Palette[i].RGBA()
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ func newScanner(img image.Image) *scanner {
|
|||
h: img.Bounds().Dy(),
|
||||
}
|
||||
if img, ok := img.(*image.Paletted); ok {
|
||||
s.palette = make([]color.NRGBA, len(img.Palette))
|
||||
s.palette = make([]color.NRGBA, max(256, len(img.Palette)))
|
||||
for i := 0; i < len(img.Palette); i++ {
|
||||
s.palette[i] = color.NRGBAModel.Convert(img.Palette[i]).(color.NRGBA)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue