diff options
Diffstat (limited to 'engines/gob')
-rw-r--r-- | engines/gob/resources.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/engines/gob/resources.cpp b/engines/gob/resources.cpp index 1dae2016d6..8241821039 100644 --- a/engines/gob/resources.cpp +++ b/engines/gob/resources.cpp @@ -246,13 +246,12 @@ bool Resources::loadTOTResourceTable() { stream->seek(totProps.resourcesOffset); _totResourceTable->itemsCount = stream->readSint16LE(); - _totResourceTable->dataOffset = totProps.resourcesOffset + kTOTResTableSize + - _totResourceTable->itemsCount * kTOTResItemSize; - - uint32 resSize = _totResourceTable->itemsCount * kTOTResItemSize + kTOTResTableSize; + _totResourceTable->dataOffset = totProps.resourcesOffset + resSize; + + // Would the table actually fit into the TOT? if ((totProps.resourcesOffset + resSize) > ((uint32) stream->size())) return false; |