From: Olivier Beytrison Date: Thu, 17 Jan 2013 07:12:38 +0000 (+0100) Subject: wrong logic for cache merge X-Git-Tag: release_3_0_0_beta1~1307^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F169%2Fhead;p=thirdparty%2Ffreeradius-server.git wrong logic for cache merge --- diff --git a/src/modules/rlm_cache/rlm_cache.c b/src/modules/rlm_cache/rlm_cache.c index f02023eb79a..364b50ca6e7 100644 --- a/src/modules/rlm_cache/rlm_cache.c +++ b/src/modules/rlm_cache/rlm_cache.c @@ -346,9 +346,9 @@ static rlm_cache_entry_t *cache_add(rlm_cache_t *inst, REQUEST *request, * - Map src and dst attributes differ */ to_req = NULL; - if (!merge || !map->src->da || + if (merge && ( !map->src->da || (map->src->list != map->dst->list) || - (map->src->da != map->dst->da)) { + (map->src->da != map->dst->da))) { context = request; /* * It's ok if the list isn't valid here...