[Scummvm-cvs-logs] scummvm master -> 96d99c480be474eaa47df0976f9cd757acab460d

Strangerke Strangerke at scummvm.org
Sat Oct 11 09:22:39 CEST 2014


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:
96d99c480b CGE: Add a safeguard in getPage()


Commit: 96d99c480be474eaa47df0976f9cd757acab460d
    https://github.com/scummvm/scummvm/commit/96d99c480be474eaa47df0976f9cd757acab460d
Author: Strangerke (strangerke at scummvm.org)
Date: 2014-10-11T09:19:09+02:00

Commit Message:
CGE: Add a safeguard in getPage()

Changed paths:
    engines/cge/fileio.cpp



diff --git a/engines/cge/fileio.cpp b/engines/cge/fileio.cpp
index 8609110..df5c31d 100644
--- a/engines/cge/fileio.cpp
+++ b/engines/cge/fileio.cpp
@@ -77,7 +77,7 @@ ResourceManager::ResourceManager() {
 		_buff[i]._page = new BtPage;
 		_buff[i]._pageNo = kBtValNone;
 		_buff[i]._index = -1;
-		assert(_buff[i]._page != NULL);
+		assert(_buff[i]._page != nullptr);
 	}
 }
 
@@ -118,6 +118,9 @@ uint16 ResourceManager::read(byte *buf, uint16 length) {
 BtPage *ResourceManager::getPage(int level, uint16 pageId) {
 	debugC(1, kCGEDebugFile, "ResourceManager::getPage(%d, %d)", level, pageId);
 
+	if (level >= kBtLevel)
+		return nullptr;
+
 	if (_buff[level]._pageNo != pageId) {
 		int32 pos = pageId * kBtSize;
 		_buff[level]._pageNo = pageId;
@@ -156,7 +159,6 @@ BtKeypack *ResourceManager::find(const char *key) {
 		if (pg->_header._down != kBtValNone) {
 			int i;
 			for (i = 0; i < pg->_header._count; i++) {
-				// Does this work, or does it have to compare the entire buffer?
 				if (scumm_strnicmp((const char *)key, (const char*)pg->_inner[i]._key, kBtKeySize) < 0)
 					break;
 			}






More information about the Scummvm-git-logs mailing list