From 73df2c7a252eb8c523222928de3d5ed98d78519b Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 6 Dec 2009 20:22:21 +0000 Subject: (svn r18418) -Fix [FS#3298]: under some circumstances a pointer could be left untouched and then freed. Make sure this doesn't happen by ensuring it starts out as NULL instead of 'garbage'. --- src/ai/ai_info.cpp | 7 +++++++ src/ai/ai_info.hpp | 1 + src/script/script_info.hpp | 1 + 3 files changed, 9 insertions(+) diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index d6337d511..be16a4966 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -131,6 +131,13 @@ bool AIInfo::GetSettings() return this->engine->CallMethod(*this->SQ_instance, "GetSettings", NULL, -1); } +AIInfo::AIInfo() : + min_loadable_version(0), + use_as_random(false), + api_version(NULL) +{ +} + AIInfo::~AIInfo() { /* Free all allocated strings */ diff --git a/src/ai/ai_info.hpp b/src/ai/ai_info.hpp index 6716cf95e..605664fbb 100644 --- a/src/ai/ai_info.hpp +++ b/src/ai/ai_info.hpp @@ -58,6 +58,7 @@ class AIInfo : public AIFileInfo { public: static const char *GetClassName() { return "AIInfo"; } + AIInfo(); ~AIInfo(); /** diff --git a/src/script/script_info.hpp b/src/script/script_info.hpp index 931a4caf8..a812df3e5 100644 --- a/src/script/script_info.hpp +++ b/src/script/script_info.hpp @@ -25,6 +25,7 @@ public: description(NULL), date(NULL), instance_name(NULL), + version(0), url(NULL) {} ~ScriptFileInfo(); -- cgit v1.2.3-54-g00ecf