ソースを参照

2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

	Fixed memory leak
	* src/Dictionary.cc
Tatsuhiro Tsujikawa 17 年 前
コミット
4eacf0436a
2 ファイル変更11 行追加2 行削除
  1. 5 0
      ChangeLog
  2. 6 2
      src/Dictionary.cc

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
+
+	Fixed memory leak
+	* src/Dictionary.cc
+
 2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	Fixed memory leak

+ 6 - 2
src/Dictionary.cc

@@ -67,8 +67,12 @@ void Dictionary::put(const std::string& name, MetaEntry* entry) {
 
 void Dictionary::remove(const std::string& name)
 {
-  table.erase(name);
-  order.erase(std::remove(order.begin(), order.end(), name), order.end());
+  std::map<std::string, MetaEntry*>::iterator i = table.find(name);
+  if(i != table.end()) {
+    delete i->second;
+    table.erase(i);
+    order.erase(std::remove(order.begin(), order.end(), name), order.end());
+  }
 }
 
 void Dictionary::accept(MetaEntryVisitor* v) const {