diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp index d09fc39c0e..cd0cc8f301 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 d7fc258c7b..11f4cdafdd 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; } }