--- a/src/server/config/acl.c Tue Jun 25 22:18:59 2013 +0200 +++ b/src/server/config/acl.c Wed Jun 26 15:09:54 2013 +0200 @@ -39,24 +39,28 @@ ACLFile *conf = malloc(sizeof(ACLFile)); conf->parser.parse = acl_parse; - conf->file = file; conf->namedACLs = NULL; conf->uriACLs = NULL; conf->pathACLs = NULL; int r = cfg_parse_basic_file((ConfigParser*)conf, in); + UcxMempool *mp = conf->parser.mp; + cfg_list_destr(mp, conf->namedACLs); + cfg_list_destr(mp, conf->uriACLs); + cfg_list_destr(mp, conf->pathACLs); if(r != 0) { free_acl_file(conf); return NULL; } - + fclose(in); return conf; } -void free_acl_file(ACLFile *aclfile) { - +void free_acl_file(ACLFile *conf) { + ucx_mempool_free(conf->parser.mp); + free(conf); } int acl_parse(void *p, ConfigLine *begin, ConfigLine *end, sstr_t line) {