From: pk910 Date: Sat, 23 Feb 2013 16:10:24 +0000 (+0100) Subject: fixed possible crash in hostserv module X-Git-Url: http://git.pk910.de/?p=srvx.git;a=commitdiff_plain;h=328fa381053a240f8aad4a719e422165fa012437 fixed possible crash in hostserv module --- diff --git a/src/mod-hostserv.c b/src/mod-hostserv.c index 461b6cd..845382f 100644 --- a/src/mod-hostserv.c +++ b/src/mod-hostserv.c @@ -1244,29 +1244,29 @@ static void hostserv_conf_read(void) { hostserv_conf.modes = (str ? str : NULL); str = database_get_data(conf_node, "toplevel_access", RECDB_QSTRING); - unsigned int toplevel_access = atoi(str); + unsigned int toplevel_access = (str ? atoi(str) : 0); hostserv_conf.toplevel_access = (toplevel_access ? toplevel_access : 600); str = database_get_data(conf_node, "fallback_other_assignment", RECDB_QSTRING); - hostserv_conf.fallback_other_assignment = (atoi(str) ? 1 : 0); + hostserv_conf.fallback_other_assignment = (str && atoi(str) ? 1 : 0); str = database_get_data(conf_node, "manager_can_del_toplevel", RECDB_QSTRING); - hostserv_conf.manager_can_del_toplevel = (atoi(str) ? 1 : 0); + hostserv_conf.manager_can_del_toplevel = (str && atoi(str) ? 1 : 0); str = database_get_data(conf_node, "manager_can_del_secondlevel", RECDB_QSTRING); - hostserv_conf.manager_can_del_secondlevel = (atoi(str) ? 1 : 0); + hostserv_conf.manager_can_del_secondlevel = (str && atoi(str) ? 1 : 0); str = database_get_data(conf_node, "manager_can_rename_toplevel", RECDB_QSTRING); - hostserv_conf.manager_can_rename_toplevel = (atoi(str) ? 1 : 0); + hostserv_conf.manager_can_rename_toplevel = (str && atoi(str) ? 1 : 0); str = database_get_data(conf_node, "manager_can_rename_secondlevel", RECDB_QSTRING); - hostserv_conf.manager_can_rename_secondlevel = (atoi(str) ? 1 : 0); + hostserv_conf.manager_can_rename_secondlevel = (str && atoi(str) ? 1 : 0); str = database_get_data(conf_node, "manager_toplevel_can_oset", RECDB_QSTRING); - hostserv_conf.manager_toplevel_can_oset = (atoi(str) ? 1 : 0); + hostserv_conf.manager_toplevel_can_oset = (str && atoi(str) ? 1 : 0); str = database_get_data(conf_node, "manager_secondlevel_can_oset", RECDB_QSTRING); - hostserv_conf.manager_secondlevel_can_oset = (atoi(str) ? 1 : 0); + hostserv_conf.manager_secondlevel_can_oset = (str && atoi(str) ? 1 : 0); } static int hostserv_saxdb_read_secondlevel(const char *name, void *data, UNUSED_ARG(void *extra));