From 71aab5ab1df735bdcd776b05a5a180a3482a1345 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Sat, 17 May 2014 12:12:19 +0100 Subject: HOPKINS: Add null termination to byte buffer returned by loadFile(). This shouldn't be a problem, as current client code either must find a terminator when parsing the byte buffer or have preknowledge of the buffer size from a file size or fixed call, so the appended null termination will not cause issues. This change thus allows client code to add sanity checks to prevent reading off the end of the buffer. --- engines/hopkins/files.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'engines/hopkins') diff --git a/engines/hopkins/files.cpp b/engines/hopkins/files.cpp index 75f429f860..6620f2878c 100644 --- a/engines/hopkins/files.cpp +++ b/engines/hopkins/files.cpp @@ -51,12 +51,13 @@ byte *FileManager::loadFile(const Common::String &file) { // Allocate space for the file contents size_t filesize = f.size(); - byte *data = _vm->_globals->allocMemory(filesize); + byte *data = _vm->_globals->allocMemory(filesize+1); if (!data) error("Error allocating space for file being loaded - %s", file.c_str()); readStream(f, data, filesize); f.close(); + data[filesize] = '\0'; return data; } -- cgit v1.2.3