[Scummvm-cvs-logs] scummvm master -> 35086fe17cb2fee7fc4b91fa720031840d2f2c28

bluegr md5 at scummvm.org
Thu May 12 11:54:00 CEST 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
35086fe17c SCI: Fixed bugs #3299458 and #3295849


Commit: 35086fe17cb2fee7fc4b91fa720031840d2f2c28
    https://github.com/scummvm/scummvm/commit/35086fe17cb2fee7fc4b91fa720031840d2f2c28
Author: md5 (md5 at scummvm.org)
Date: 2011-05-12T02:52:12-07:00

Commit Message:
SCI: Fixed bugs #3299458 and #3295849

Changed paths:
    engines/sci/engine/gc.cpp



diff --git a/engines/sci/engine/gc.cpp b/engines/sci/engine/gc.cpp
index 2d71878..9c580dd 100644
--- a/engines/sci/engine/gc.cpp
+++ b/engines/sci/engine/gc.cpp
@@ -87,7 +87,8 @@ static void processWorkList(SegManager *segMan, WorklistManager &wm, const Commo
 		wm._worklist.pop_back();
 		if (reg.segment != stackSegment) { // No need to repeat this one
 			debugC(kDebugLevelGC, "[GC] Checking %04x:%04x", PRINT_REG(reg));
-			if (reg.segment < heap.size() && heap[reg.segment]) {
+			// We only check for valid offsets here. Fixes bugs #3299458 and #3295849.
+			if (reg.segment < heap.size() && heap[reg.segment] && heap[reg.segment]->isValidOffset(reg.offset)) {
 				// Valid heap object? Find its outgoing references!
 				wm.pushArray(heap[reg.segment]->listAllOutgoingReferences(reg));
 			}






More information about the Scummvm-git-logs mailing list