Browse Source

* More atempts at memory leak fixes [Codemaster] [SVN 890]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@890 54d463be-8e91-2dee-dedb-b68131a5f0ec
codemaster 20 years ago
parent
commit
d1fda6a944
2 changed files with 15 additions and 4 deletions
  1. 3 1
      Changelog.txt
  2. 12 3
      src/map/map.c

+ 3 - 1
Changelog.txt

@@ -1,6 +1,8 @@
 Date	Added
+01/02
+	* More atempts at memory leak fixes [Codemaster] [SVN 890]
 01/01
-	* Attempted to fix a memory leak [Codemaster] - tell me if it works XD (NPC/Mob memory leak in npc_parse_mob(...))
+	* Attempted to fix a memory leak [Codemaster] - tell me if it works XD (NPC/Mob memory leak in npc_parse_mob(...)) [SVN 886]
 	* Added a char config that allows GMs that have a certain level or above to 
 	  bypass the server's user limit [Codemaster]
 	* Changed some create arrow outputs for new kRO 12/21/04 patch [Aria]

+ 12 - 3
src/map/map.c

@@ -2540,13 +2540,22 @@ int id_db_final(void *k,void *d,va_list ap)
 	nullpo_retr(0, id=d);
 	if(id->lootitem)
 		free(id->lootitem);
-	free(id);
+	if(id)
+		free(id);
+	return 0;
+}
+int map_db_final(void *k,void *d,va_list ap)
+{
+	struct map_data *id;
+	nullpo_retr(0, id=d);
+	if(id->gat)
+		free(id->gat);
+	if(id)
+		free(id);
 	return 0;
 }
-int map_db_final(void *k,void *d,va_list ap){ return 0; }
 int nick_db_final(void *k,void *d,va_list ap){ return 0; }
 int charid_db_final(void *k,void *d,va_list ap){ return 0; }
-
 static int cleanup_sub(struct block_list *bl, va_list ap) {
 	nullpo_retr(0, bl);