mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-11 13:45:25 +00:00
SUPERNOVA: Fix OOB write in paletteBrightness()
Palette color 255 doesn't seem to be used
This commit is contained in:
parent
0c72f52ad8
commit
8e55efa748
@ -30,7 +30,7 @@ bool MSNImageDecoder::loadStream(Common::SeekableReadStream &stream) {
|
||||
_encodedImage = new byte[size];
|
||||
|
||||
_palette = new byte[717];
|
||||
g_system->getPaletteManager()->grabPalette(_palette, 16, 240);
|
||||
g_system->getPaletteManager()->grabPalette(_palette, 16, 239);
|
||||
|
||||
byte pal_diff;
|
||||
byte flag = stream.readByte();
|
||||
|
@ -306,20 +306,20 @@ void SupernovaEngine::renderBox(int x, int y, int width, int height, byte color)
|
||||
void SupernovaEngine::paletteBrightness() {
|
||||
byte palette[768];
|
||||
|
||||
_system->getPaletteManager()->grabPalette(palette, 0, 256);
|
||||
_system->getPaletteManager()->grabPalette(palette, 0, 255);
|
||||
for (size_t i = 0; i < 48; ++i) {
|
||||
palette[i] = (initVGAPalette[i] * _menuBrightness) >> 8;
|
||||
}
|
||||
for (size_t i = 48; i < 768; ++i) {
|
||||
for (size_t i = 0; i < 717; ++i) {
|
||||
const byte *imagePalette;
|
||||
if (_image.getPalette()) {
|
||||
imagePalette = _image.getPalette();
|
||||
} else {
|
||||
imagePalette = palette;
|
||||
}
|
||||
palette[i] = (imagePalette[i - 48] * _brightness) >> 8;
|
||||
palette[i + 48] = (imagePalette[i] * _brightness) >> 8;
|
||||
}
|
||||
_system->getPaletteManager()->setPalette(palette, 0, 256);
|
||||
_system->getPaletteManager()->setPalette(palette, 0, 255);
|
||||
}
|
||||
|
||||
void SupernovaEngine::paletteFadeOut() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user