aboutsummaryrefslogtreecommitdiff
path: root/engines/gob
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob')
-rw-r--r--engines/gob/dataio.cpp6
-rw-r--r--engines/gob/save/savehandler.cpp4
2 files changed, 5 insertions, 5 deletions
diff --git a/engines/gob/dataio.cpp b/engines/gob/dataio.cpp
index 78fc0ab3c1..aa2743b5ed 100644
--- a/engines/gob/dataio.cpp
+++ b/engines/gob/dataio.cpp
@@ -26,6 +26,7 @@
#include "common/endian.h"
#include "common/types.h"
#include "common/memstream.h"
+#include "common/substream.h"
#include "gob/gob.h"
#include "gob/dataio.h"
@@ -345,9 +346,8 @@ Common::SeekableReadStream *DataIO::getFile(File &file) {
if (!file.archive->file.seek(file.offset))
return 0;
- Common::SeekableReadStream *rawData = file.archive->file.readStream(file.size);
- if (!rawData)
- return 0;
+ Common::SeekableReadStream *rawData =
+ new Common::SafeSubReadStream(&file.archive->file, file.offset, file.offset + file.size);
if (!file.packed)
return rawData;
diff --git a/engines/gob/save/savehandler.cpp b/engines/gob/save/savehandler.cpp
index 8cb8274402..21102ae786 100644
--- a/engines/gob/save/savehandler.cpp
+++ b/engines/gob/save/savehandler.cpp
@@ -113,8 +113,8 @@ void SlotFileIndexed::buildIndex(byte *buffer, SavePartInfo &info,
if (setLongest) {
uint32 slot0Len;
for (slot0Len = strlen((const char *) bufferStart); slot0Len < longest; slot0Len++)
- buffer[slot0Len] = ' ';
- buffer[slot0Len] = '\0';
+ bufferStart[slot0Len] = ' ';
+ bufferStart[slot0Len] = '\0';
}
}