--- src/commandconf.c.orig 2003-09-07 22:05:41.000000000 +0200
+++ src/commandconf.c 2003-09-07 22:10:27.000000000 +0200
@@ -163,8 +163,10 @@
conf_scan_string(all);
if(confparse()){
+ free(all);
return RETFAIL;
}
+ free(all);
break;
}
@@ -511,6 +513,7 @@
conf_put_token(v);
conf_put_token("\n");
free(v);
+ free(tmp);
}
--- src/gen_list.c.orig 2003-09-09 12:21:13.000000000 +0200
+++ src/gen_list.c 2003-09-09 13:30:10.000000000 +0200
@@ -208,6 +208,7 @@
{
seltree* node=NULL;
seltree* parent=NULL;
+ char* tmprxtok = NULL;
node=(seltree*)malloc(sizeof(seltree));
node->childs=NULL;
@@ -223,19 +224,20 @@
copy_rule_ref(node,r);
if(tree!=NULL){
+ tmprxtok = strrxtok(path);
if(isrx){
- parent=get_seltree_node(tree,strrxtok(path));
+ parent=get_seltree_node(tree,tmprxtok);
}else {
parent=get_seltree_node(tree,strlastslash(path));
}
if(parent==NULL){
if(isrx){
- parent=new_seltree_node(tree,strrxtok(path),isrx,r);
+ parent=new_seltree_node(tree,tmprxtok,isrx,r);
}else {
parent=new_seltree_node(tree,strlastslash(path),isrx,r);
}
}
-
+ free(tmprxtok);
parent->childs=list_append(parent->childs,(void*)node);
node->parent=parent;
}else {
@@ -311,6 +313,7 @@
/* Data should not be free'ed because it's in rxc struct
* and freeing is done if error occour.
*/
+ free(rxtok);
}