Browse Source

Fixed memory leak

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@999 54d463be-8e91-2dee-dedb-b68131a5f0ec
(no author) 20 years ago
parent
commit
79bd3f5165
2 changed files with 9 additions and 1 deletions
  1. 2 0
      Changelog.txt
  2. 7 1
      src/map/map.c

+ 2 - 0
Changelog.txt

@@ -1,6 +1,8 @@
 Date	Added
 
 01/26
+        * Added bug fix for a memory leak caused when a character logs out,
+          by End_of_exam / jA 1108 [celest]
         * Fixed a bug in gettick cache when compiling in Windows, thanks to Shinomori
           (jA 1094) [celest]
         * Added updates from jA 1092 [celest]

+ 7 - 1
src/map/map.c

@@ -1085,7 +1085,13 @@ int map_quit(struct map_session_data *sd) {
 	chrif_char_offline(sd);
 #endif
 
-	numdb_erase(id_db,sd->bl.id);
+	{
+		void *p = numdb_search(charid_db,sd->status.char_id);
+		if(p) {
+			numdb_erase(charid_db,sd->status.char_id);
+			free(p);
+		}
+	} 
 	strdb_erase(nick_db,sd->status.name);
 	numdb_erase(charid_db,sd->status.char_id);