summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2013-08-26 15:32:13 +0200
committerLinus Nordberg <linus@nordberg.se>2013-08-26 15:37:15 +0200
commit1335ec42794cf5007bdab487423aef15358637a2 (patch)
tree6aa1c3d3d58cca89cf086104fc706be607f08c41
parent974aa9012abcfd3050271dba9d4d38856892b5ca (diff)
Don't free struct clsrvconf members rewritein and rewriteout.
They are pointers into static struct hash *rewriteconfs and should live forever. Patch by Fabian Mauchle.
-rw-r--r--ChangeLog2
-rw-r--r--radsecproxy.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8a164a7..d43d5b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,8 @@
Bug fixes:
- The duplication cache is purged properly. Patch by Fabian
Mauchle.
+ - Stop freeing a shared piece of memory manifesting itself as a
+ crash when using dynamic discovery. Patch by Fabian Mauchle.
2012-10-25 1.6.2
Bug fixes (security):
diff --git a/radsecproxy.c b/radsecproxy.c
index 2c001e5..ca5839a 100644
--- a/radsecproxy.c
+++ b/radsecproxy.c
@@ -2633,8 +2633,8 @@ void freeclsrvconf(struct clsrvconf *conf) {
free(conf->rewriteusername);
}
free(conf->dynamiclookupcommand);
- free(conf->rewritein);
- free(conf->rewriteout);
+ conf->rewritein=NULL;
+ conf->rewriteout=NULL;
if (conf->hostports)
freehostports(conf->hostports);
if (conf->lock) {