[Scummvm-cvs-logs] CVS: scummvm/kyra kyra.cpp,1.34,1.35 wsamovie.cpp,1.11,1.12
Torbjörn Andersson
eriktorbjorn at users.sourceforge.net
Mon Aug 22 08:40:02 CEST 2005
Update of /cvsroot/scummvm/scummvm/kyra
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9461
Modified Files:
kyra.cpp wsamovie.cpp
Log Message:
Fixed two cases where a bad pointer would be freed, causing ScummVM to
crash on my Debian box.
Index: kyra.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- kyra.cpp 19 Aug 2005 22:12:09 -0000 1.34
+++ kyra.cpp 22 Aug 2005 15:39:07 -0000 1.35
@@ -199,18 +199,17 @@
if (palData && palSize) {
memcpy(palData, srcData + 10, palSize);
}
- srcData += 10 + palSize;
-
+ uint8 *srcPtr = srcData + 10 + palSize;
uint8 *dstData = _screen->getPagePtr(dstPage);
switch (compType) {
case 0:
- memcpy(dstData, srcData, imgSize);
+ memcpy(dstData, srcPtr, imgSize);
break;
case 3:
- Screen::decodeFrame3(srcData, dstData, imgSize);
+ Screen::decodeFrame3(srcPtr, dstData, imgSize);
break;
case 4:
- Screen::decodeFrame4(srcData, dstData, imgSize);
+ Screen::decodeFrame4(srcPtr, dstData, imgSize);
break;
default:
error("Unhandled bitmap compression %d", compType);
Index: wsamovie.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/wsamovie.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- wsamovie.cpp 19 Aug 2005 22:12:09 -0000 1.11
+++ wsamovie.cpp 22 Aug 2005 15:39:07 -0000 1.12
@@ -39,6 +39,7 @@
wsa->width = READ_LE_UINT16(wsaData); wsaData += 2;
wsa->height = READ_LE_UINT16(wsaData); wsaData += 2;
wsa->deltaBufferSize = READ_LE_UINT16(wsaData); wsaData += 2;
+ wsa->offscreenBuffer = NULL;
wsa->flags = 0;
if (_game == KYRA1CD) {
flags = READ_LE_UINT16(wsaData); wsaData += 2;
More information about the Scummvm-git-logs
mailing list