summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ai/ai_config.cpp6
-rw-r--r--src/ai/ai_scanner.cpp3
2 files changed, 7 insertions, 2 deletions
diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp
index d09fc39c0..cd0cc8f30 100644
--- a/src/ai/ai_config.cpp
+++ b/src/ai/ai_config.cpp
@@ -55,7 +55,11 @@ AIConfig::AIConfig(const AIConfig *config)
AIConfig::~AIConfig()
{
- this->ChangeAI(NULL);
+ free((void *)this->name);
+ for (SettingValueList::iterator it = this->settings.begin(); it != this->settings.end(); it++) {
+ free((void*)(*it).first);
+ }
+ this->settings.clear();
}
AIInfo *AIConfig::GetInfo()
diff --git a/src/ai/ai_scanner.cpp b/src/ai/ai_scanner.cpp
index d7fc258c7..11f4cdafd 100644
--- a/src/ai/ai_scanner.cpp
+++ b/src/ai/ai_scanner.cpp
@@ -179,6 +179,7 @@ AIScanner::~AIScanner()
delete (*lit).second;
}
+ delete this->info_dummy;
delete this->engine;
}
@@ -331,7 +332,7 @@ void AIScanner::RegisterAI(AIInfo *info)
strtolower(ai_name);
if (this->info_single_list.find(ai_name) == this->info_single_list.end()) {
this->info_single_list[strdup(ai_name)] = info;
- } else if (this->info_single_list[strdup(ai_name)]->GetVersion() < info->GetVersion()) {
+ } else if (this->info_single_list[ai_name]->GetVersion() < info->GetVersion()) {
this->info_single_list[ai_name] = info;
}
}