[Scummvm-cvs-logs] SF.net SVN: scummvm:[46720] scummvm/trunk/engines/sci/engine/segment.cpp

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Tue Dec 29 23:26:10 CET 2009


Revision: 46720
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46720&view=rev
Author:   m_kiewitz
Date:     2009-12-29 22:26:09 +0000 (Tue, 29 Dec 2009)

Log Message:
-----------
SCI: returning back raw == 0, when script trying to access invalid memory

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 21:57:51 UTC (rev 46719)
+++ scummvm/trunk/engines/sci/engine/segment.cpp	2009-12-29 22:26:09 UTC (rev 46720)
@@ -264,10 +264,12 @@
 	SegmentRef ret;
 	ret.isRaw = false;	// reg_t based data!
 	ret.maxSize = (_locals.size() - pointer.offset/2) * 2;
-	if (ret.maxSize > 0)
+	if (ret.maxSize > 0) {
 		ret.raw = (byte *)&_locals[pointer.offset/2];
-	else
+	} else {
 		warning("LocalVariables::dereference: Offset at end or out of bounds %04x:%04x", PRINT_REG(pointer));
+		ret.raw = 0;
+	}
 	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