diff options
author | Filippos Karapetis | 2009-09-07 08:27:49 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-09-07 08:27:49 +0000 |
commit | e3a733f2e2170f573514e8c53115e26227ea6247 (patch) | |
tree | 317ad30b780056c55db5687ce4e5863c07d9808e /engines | |
parent | 44b60d27507156f6a2d072845f3428483021865a (diff) | |
download | scummvm-rg350-e3a733f2e2170f573514e8c53115e26227ea6247.tar.gz scummvm-rg350-e3a733f2e2170f573514e8c53115e26227ea6247.tar.bz2 scummvm-rg350-e3a733f2e2170f573514e8c53115e26227ea6247.zip |
Fixed a regression from commit #43999 (segment ID 1 is valid)
svn-id: r44000
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/seg_manager.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp index 9d37b2ac75..4955ec7cfc 100644 --- a/engines/sci/engine/seg_manager.cpp +++ b/engines/sci/engine/seg_manager.cpp @@ -233,7 +233,7 @@ int SegManager::deallocateScript(int script_nr) { } Script *SegManager::getScript(const SegmentId seg) { - if (seg <= 0 || (uint)seg >= _heap.size()) { + if (seg < 1 || (uint)seg >= _heap.size()) { error("SegManager::getScript(): seg id %x out of bounds", seg); } if (!_heap[seg]) { @@ -246,7 +246,7 @@ Script *SegManager::getScript(const SegmentId seg) { } Script *SegManager::getScriptIfLoaded(const SegmentId seg) { - if (seg <= 1 || (uint)seg >= _heap.size() || !_heap[seg] || _heap[seg]->getType() != MEM_OBJ_SCRIPT) + if (seg < 1 || (uint)seg >= _heap.size() || !_heap[seg] || _heap[seg]->getType() != MEM_OBJ_SCRIPT) return 0; return (Script *)_heap[seg]; } @@ -259,13 +259,13 @@ SegmentId SegManager::findSegmentByType(int type) { } MemObject *SegManager::getMemObject(SegmentId seg) { - if (seg <= 1 || (uint)seg >= _heap.size() || !_heap[seg]) + if (seg < 1 || (uint)seg >= _heap.size() || !_heap[seg]) return 0; return _heap[seg]; } MemObjectType SegManager::getMemObjectType(SegmentId seg) { - if (seg <= 1 || (uint)seg >= _heap.size() || !_heap[seg]) + if (seg < 1 || (uint)seg >= _heap.size() || !_heap[seg]) return MEM_OBJ_INVALID; return _heap[seg]->getType(); } @@ -275,7 +275,7 @@ MemObjectType SegManager::getMemObjectType(SegmentId seg) { // false - invalid seg // true - valid seg bool SegManager::check(SegmentId seg) { - if (seg <= 0 || (uint)seg >= _heap.size()) { + if (seg < 1 || (uint)seg >= _heap.size()) { return false; } if (!_heap[seg]) { @@ -909,7 +909,7 @@ byte *SegManager::allocDynmem(int size, const char *descr, reg_t *addr) { } const char *SegManager::getDescription(reg_t addr) { - if (addr.segment >= _heap.size()) + if (addr.segment < 1 || addr.segment >= _heap.size()) return ""; MemObject *mobj = _heap[addr.segment]; @@ -923,7 +923,7 @@ const char *SegManager::getDescription(reg_t addr) { } int SegManager::freeDynmem(reg_t addr) { - if (addr.segment <= 0 || addr.segment >= _heap.size() || !_heap[addr.segment] || _heap[addr.segment]->getType() != MEM_OBJ_DYNMEM) + if (addr.segment < 1 || addr.segment >= _heap.size() || !_heap[addr.segment] || _heap[addr.segment]->getType() != MEM_OBJ_DYNMEM) return 1; // error deallocate(addr.segment, true); |