aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/ThemeNew.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/gui/ThemeNew.cpp b/gui/ThemeNew.cpp
index a196487101..d32a772edc 100644
--- a/gui/ThemeNew.cpp
+++ b/gui/ThemeNew.cpp
@@ -77,11 +77,12 @@ _forceRedraw(false), _font(0), _imageHandles(0), _images(0), _colors() {
unz_file_info fileInfo;
unzOpenCurrentFile(zipFile);
unzGetCurrentFileInfo(zipFile, &fileInfo, NULL, 0, NULL, 0, NULL, 0);
- uint8 *buffer = new uint8[fileInfo.uncompressed_size];
+ uint8 *buffer = new uint8[fileInfo.uncompressed_size+1];
assert(buffer);
+ memset(buffer, 0, (fileInfo.uncompressed_size+1)*sizeof(uint8));
unzReadCurrentFile(zipFile, buffer, fileInfo.uncompressed_size);
unzCloseCurrentFile(zipFile);
- Common::MemoryReadStream stream(buffer, fileInfo.uncompressed_size);
+ Common::MemoryReadStream stream(buffer, fileInfo.uncompressed_size+1);
if (!_configFile.loadFromStream(stream)) {
warning("Can not find theme config file '%s'", (stylefile + ".ini").c_str());
unzClose(zipFile);