src/server/config/acl.c

changeset 79
f48cea237ec3
parent 62
c47e081b6c0f
child 88
73b3485e96f1
--- 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) {

mercurial