aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authormd52011-03-27 18:11:26 +0300
committermd52011-03-28 02:23:57 +0300
commit9adae61df3372e6cfdac97e65a6b7573bf18ae00 (patch)
treef1c46e469eeb35d25dd59b45e90084c70e8a7db7 /engines/sci/engine
parent76b68bf88cf91c2b114f2f0682b602ac339bf073 (diff)
downloadscummvm-rg350-9adae61df3372e6cfdac97e65a6b7573bf18ae00.tar.gz
scummvm-rg350-9adae61df3372e6cfdac97e65a6b7573bf18ae00.tar.bz2
scummvm-rg350-9adae61df3372e6cfdac97e65a6b7573bf18ae00.zip
SCI: Error out when kMemorySegment() is requested to save more than 256 bytes
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/kmisc.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp
index 723aece819..907e0ba2e4 100644
--- a/engines/sci/engine/kmisc.cpp
+++ b/engines/sci/engine/kmisc.cpp
@@ -151,8 +151,13 @@ reg_t kMemorySegment(EngineState *s, int argc, reg_t *argv) {
if (!size)
size = s->_segMan->strlen(argv[1]) + 1;
- if (size > EngineState::kMemorySegmentMax)
- size = EngineState::kMemorySegmentMax;
+ if (size > EngineState::kMemorySegmentMax) {
+ // This was set to cut the block to 256 bytes. This should be an
+ // error, as we won't restore the full block that the game scripts
+ // request, thus error out instead.
+ //size = EngineState::kMemorySegmentMax;
+ error("kMemorySegment: Requested to save more than 256 bytes (%d)", size);
+ }
s->_memorySegmentSize = size;