From: Wouter Wijngaards Date: Mon, 6 Jun 2016 15:01:48 +0000 (+0000) Subject: and fixup delete rest of list on parse failure. X-Git-Tag: release-1.5.10~102 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a2555b39d7981716f7da26a6d9b997171ba5ecea;p=thirdparty%2Funbound.git and fixup delete rest of list on parse failure. git-svn-id: file:///svn/unbound/trunk@3762 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/daemon/acl_list.c b/daemon/acl_list.c index 4d40b092c..98be99b35 100644 --- a/daemon/acl_list.c +++ b/daemon/acl_list.c @@ -298,8 +298,10 @@ read_acl_tags(struct acl_list* acl, struct config_file* cfg) cfg->acl_tags = NULL; while(p) { log_assert(p->str && p->str2); - if(!acl_list_tags_cfg(acl, p->str, p->str2, p->str2len)) + if(!acl_list_tags_cfg(acl, p->str, p->str2, p->str2len)) { + config_del_strbytelist(p); return 0; + } /* free the items as we go to free up memory */ np = p->next; free(p->str); diff --git a/util/config_file.c b/util/config_file.c index 90ab61d8c..4754e2d51 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -996,8 +996,7 @@ config_del_strarray(char** array, int num) free(array); } -/** delete stringbytelist */ -static void +void config_del_strbytelist(struct config_strbytelist* p) { struct config_strbytelist* np; diff --git a/util/config_file.h b/util/config_file.h index 2483581e6..505c66f88 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -664,6 +664,9 @@ void config_deldblstrlist(struct config_str2list* list); */ void config_deltrplstrlist(struct config_str3list* list); +/** delete stringbytelist */ +void config_del_strbytelist(struct config_strbytelist* list); + /** * Delete a stub item * @param p: stub item