summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcodemaster <codemaster@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-01-02 09:10:48 +0000
committercodemaster <codemaster@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-01-02 09:10:48 +0000
commit9a4314e14fef7680cda7ae187a2594cf5495d11e (patch)
tree39e932ba3c3e0973e0f0a218e3f16435b8d92448
parent6f60ed249edbd1821b1458b30678ebcd3cef96f7 (diff)
downloadhercules-9a4314e14fef7680cda7ae187a2594cf5495d11e.tar.gz
hercules-9a4314e14fef7680cda7ae187a2594cf5495d11e.tar.bz2
hercules-9a4314e14fef7680cda7ae187a2594cf5495d11e.tar.xz
hercules-9a4314e14fef7680cda7ae187a2594cf5495d11e.zip
* More atempts at memory leak fixes [Codemaster] [SVN 890]
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@890 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog.txt4
-rw-r--r--src/map/map.c15
2 files changed, 15 insertions, 4 deletions
diff --git a/Changelog.txt b/Changelog.txt
index 493f64a6f..361bfdabd 100644
--- a/Changelog.txt
+++ b/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]
diff --git a/src/map/map.c b/src/map/map.c
index 99d38d1ae..ae99c477b 100644
--- a/src/map/map.c
+++ b/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);