From: Linus Nordberg Date: Mon, 26 Aug 2013 13:32:13 +0000 (+0200) Subject: Don't free struct clsrvconf members rewritein and rewriteout. X-Git-Tag: radsecproxy-1.6.3-rc0~6 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=radsecproxy.git;a=commitdiff_plain;h=edaa77bca043e57e8cf6a98fc1bef56558885b1a 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. --- 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) {