mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-06 01:05:48 +02:00
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:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user