From 9adae61df3372e6cfdac97e65a6b7573bf18ae00 Mon Sep 17 00:00:00 2001 From: md5 Date: Sun, 27 Mar 2011 18:11:26 +0300 Subject: SCI: Error out when kMemorySegment() is requested to save more than 256 bytes --- engines/sci/engine/kmisc.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'engines/sci') 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; -- cgit v1.2.3