[Scummvm-cvs-logs] SF.net SVN: scummvm:[46718] scummvm/trunk/engines/sci/engine/segment.cpp
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Tue Dec 29 22:37:26 CET 2009
Revision: 46718
http://scummvm.svn.sourceforge.net/scummvm/?rev=46718&view=rev
Author: m_kiewitz
Date: 2009-12-29 21:37:26 +0000 (Tue, 29 Dec 2009)
Log Message:
-----------
SCI: dont crash when scripts are trying to access invalid memory (fixes intro of lb2cd)
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/segment.cpp
Modified: scummvm/trunk/engines/sci/engine/segment.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/segment.cpp 2009-12-29 20:41:09 UTC (rev 46717)
+++ scummvm/trunk/engines/sci/engine/segment.cpp 2009-12-29 21:37:26 UTC (rev 46718)
@@ -264,7 +264,10 @@
SegmentRef ret;
ret.isRaw = false; // reg_t based data!
ret.maxSize = (_locals.size() - pointer.offset/2) * 2;
- ret.raw = (byte *)&_locals[pointer.offset/2];
+ if (ret.maxSize > 0)
+ ret.raw = (byte *)&_locals[pointer.offset/2];
+ else
+ warning("LocalVariables::dereference: Offset at end or out of bounds %04x:%04x", PRINT_REG(pointer));
return ret;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list