[Scummvm-git-logs] scummvm master -> 71008e7ae1238c7ef6f2aa1fa26508cf842d697c
AndywinXp
noreply at scummvm.org
Sun Nov 17 21:52:40 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
71008e7ae1 SCUMM: COMI: Fix invalid read in savegame thumbnail
Commit: 71008e7ae1238c7ef6f2aa1fa26508cf842d697c
https://github.com/scummvm/scummvm/commit/71008e7ae1238c7ef6f2aa1fa26508cf842d697c
Author: AndywinXp (andywinxp at gmail.com)
Date: 2024-11-17T22:52:36+01:00
Commit Message:
SCUMM: COMI: Fix invalid read in savegame thumbnail
Fixes #15508.
Changed paths:
engines/scumm/saveload.cpp
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index 3ceb1023a89..4b501dc1d66 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -520,12 +520,21 @@ uint32 *ScummEngine_v8::fetchScummVMSaveStateThumbnail(int slotId, bool isHeapSa
// Now take the pixels from the surface, extract the RGB components, process them
// with the brightness parameter, and store them in an appropriate structure
// which the SCUMM graphics pipeline can use...
- byte r, g, b;
+ byte r = 0, g = 0, b = 0;
+ byte bpp = thumbnailSurface->format.bpp();
uint32 *processedThumbnail = new uint32[thumbnailSurface->w * thumbnailSurface->h];
for (int i = 0; i < thumbnailSurface->h; i++) {
for (int j = 0; j < thumbnailSurface->w; j++) {
- uint32 *ptr = (uint32 *)thumbnailSurface->getBasePtr(j, i);
- thumbnailSurface->format.colorToRGB(*ptr, r, g, b);
+ if (bpp == 32) {
+ uint32 *ptr = (uint32 *)thumbnailSurface->getBasePtr(j, i);
+ thumbnailSurface->format.colorToRGB(*ptr, r, g, b);
+ } else if (bpp == 16) {
+ uint16 *ptr = (uint16 *)thumbnailSurface->getBasePtr(j, i);
+ thumbnailSurface->format.colorToRGB(*ptr, r, g, b);
+ } else if (bpp == 8) {
+ uint8 *ptr = (uint8 *)thumbnailSurface->getBasePtr(j, i);
+ thumbnailSurface->format.colorToRGB(*ptr, r, g, b);
+ }
processedThumbnail[i * thumbnailSurface->w + j] = getPaletteColorFromRGB(
_currentPalette,
More information about the Scummvm-git-logs
mailing list