fix possible crash on user deletion master
authorStricted <info@stricted.de>
Tue, 17 Feb 2015 21:23:35 +0000 (22:23 +0100)
committerNurPech <rgessinger@nurpech.de>
Wed, 18 Feb 2015 20:39:10 +0000 (21:39 +0100)
src/mod-hostserv.c

index 462bed94422ea0202b03f1b7dd0069d951cf15af..3aeddfd306a743c59a31aa104fe4f6dd3875d3ac 100644 (file)
@@ -1530,6 +1530,13 @@ static void hostserv_db_cleanup(void) {
     hs_free_all();
 }
 
+static void hostserv_unreg_account(UNUSED_ARG(struct userNode *user), struct handle_info *handle) {
+    struct hs_user *huser = hs_get_user(handle, 0);
+    if (huser) {
+        hs_del_user(huser);
+    }
+}
+
 int hostserv_init() {
     HS_LOG = log_register_type("HostServ", "file:hostserv.log");
     
@@ -1542,6 +1549,7 @@ int hostserv_init() {
     }
         
     conf_register_reload(hostserv_conf_read);
+    reg_unreg_func(hostserv_unreg_account);
     reg_exit_func(hostserv_db_cleanup);
     saxdb_register("HostServ", hostserv_saxdb_read, hostserv_saxdb_write);
     hostserv_module = module_register("HostServ", HS_LOG, "mod-hostserv.help", NULL);