summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordberg.se>2013-08-26 15:32:13 +0200
committerLinus Nordberg <linus@nordberg.se>2013-09-02 13:54:34 +0200
commitedaa77bca043e57e8cf6a98fc1bef56558885b1a (patch)
treeefe7316891125e5c22865abc7d0372cb1f17c129
parent6fe5339930c4663107ee584d0a49f28391bb46ea (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 3e4f360..d531395 100644
--- a/radsecproxy.c
+++ b/radsecproxy.c
@@ -2646,8 +2646,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) {