diff options
-rw-r--r-- | src/map/chrif.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/map/chrif.c b/src/map/chrif.c index a09284830..301c8ec66 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -1617,9 +1617,16 @@ void chrif_del_scdata_single(int account_id, int char_id, short type) { int auth_db_final(DBKey key, DBData *data, va_list ap) { struct auth_node *node = DB->data2ptr(data); - if (node->sd) + if (node->sd) { + + if( node->sd->var_db ) + node->sd->var_db->destroy(node->sd->var_db,script->reg_destroy); + + if( node->sd->array_db ) + node->sd->array_db->destroy(node->sd->array_db,script->array_free_db); + aFree(node->sd); - + } ers_free(chrif->auth_db_ers, node); return 0; |