From edaa77bca043e57e8cf6a98fc1bef56558885b1a Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Mon, 26 Aug 2013 15:32:13 +0200 Subject: [PATCH] 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. --- ChangeLog | 2 ++ radsecproxy.c | 4 ++-- 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) { -- 2.1.4