summaryrefslogtreecommitdiff
path: root/src/map/map.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/map.c')
-rw-r--r--src/map/map.c15
1 files changed, 12 insertions, 3 deletions
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);