From 9d521a19be347703bfdbb7802d0397a59c3edd7a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 24 Jun 2015 14:55:44 +0300 Subject: Add missing checks in windows. --- src/gui/windows/updaterwindow.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/gui/windows/updaterwindow.cpp') diff --git a/src/gui/windows/updaterwindow.cpp b/src/gui/windows/updaterwindow.cpp index 1ef2b7e2c..e221b73b9 100644 --- a/src/gui/windows/updaterwindow.cpp +++ b/src/gui/windows/updaterwindow.cpp @@ -541,6 +541,8 @@ size_t UpdaterWindow::memoryWrite(void *ptr, size_t size, { UpdaterWindow *const uw = reinterpret_cast(stream); const size_t totalMem = size * nmemb; + if (!uw) + return 0; uw->mMemoryBuffer = static_cast(realloc(uw->mMemoryBuffer, static_cast(uw->mDownloadedBytes) + totalMem)); if (uw->mMemoryBuffer) @@ -712,6 +714,8 @@ void UpdaterWindow::unloadUpdates(const std::string &dir) void UpdaterWindow::loadManaPlusUpdates(const std::string &dir, const ResourceManager *const resman) { + if (!resman) + return; std::string fixPath = dir + "/fix"; std::vector updateFiles = loadXMLFile( std::string(fixPath).append("/").append(xmlUpdateFile), false); @@ -737,6 +741,8 @@ void UpdaterWindow::loadManaPlusUpdates(const std::string &dir, void UpdaterWindow::unloadManaPlusUpdates(const std::string &dir, const ResourceManager *const resman) { + if (!resman) + return; const std::string fixPath = dir + "/fix"; const std::vector updateFiles = loadXMLFile( std::string(fixPath).append("/").append(xmlUpdateFile), true); @@ -762,6 +768,8 @@ void UpdaterWindow::addUpdateFile(const ResourceManager *const resman, const std::string &restrict file, const bool append) { + if (!resman) + return; const std::string tmpPath = std::string(path).append("/").append(file); if (!append) resman->addToSearchPath(tmpPath, append); @@ -780,6 +788,8 @@ void UpdaterWindow::removeUpdateFile(const ResourceManager *const resman, const std::string &restrict fixPath, const std::string &restrict file) { + if (!resman) + return; resman->removeFromSearchPath(std::string(path).append("/").append(file)); const std::string fixFile = std::string(fixPath).append("/").append(file); struct stat statbuf; @@ -1070,6 +1080,8 @@ void UpdaterWindow::loadMods(const std::string &dir, const ResourceManager *const resman, const std::vector &updateFiles) { + if (!resman) + return; ModDB::load(); std::string modsString = serverConfig.getValue("mods", ""); std::set modsList; -- cgit v1.2.3-70-g09d2