diff options
author | codemaster <codemaster@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-01-02 09:10:48 +0000 |
---|---|---|
committer | codemaster <codemaster@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-01-02 09:10:48 +0000 |
commit | 9a4314e14fef7680cda7ae187a2594cf5495d11e (patch) | |
tree | 39e932ba3c3e0973e0f0a218e3f16435b8d92448 | |
parent | 6f60ed249edbd1821b1458b30678ebcd3cef96f7 (diff) | |
download | hercules-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.txt | 4 | ||||
-rw-r--r-- | src/map/map.c | 15 |
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); |