From 9fa32bac7cd14a73ee97f2366340bb939c657bda Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Tue, 6 Nov 2007 23:58:56 +0000 Subject: [PATCH] SEC-578: Set FilterInvocationDefinitionSource field in FilterChainProxy to null after it has been converted to a map of paths->filters. --- .../springframework/security/util/FilterChainProxy.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/springframework/security/util/FilterChainProxy.java b/core/src/main/java/org/springframework/security/util/FilterChainProxy.java index f285bd9c90..60f39fa50d 100644 --- a/core/src/main/java/org/springframework/security/util/FilterChainProxy.java +++ b/core/src/main/java/org/springframework/security/util/FilterChainProxy.java @@ -106,7 +106,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo private Map filterChainMap; private UrlMatcher matcher = new AntUrlPathMatcher(); private FilterInvocationDefinitionSource fids; - + //~ Methods ======================================================================================================== public void afterPropertiesSet() throws Exception { @@ -114,6 +114,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo if (fids != null) { Assert.isNull(uncompiledFilterChainMap, "Set the filterChainMap or FilterInvocationDefinitionSource but not both"); setFilterChainMap(new FIDSToFilterChainMapConverter(fids, applicationContext).getFilterChainMap()); + fids = null; } Assert.notNull(uncompiledFilterChainMap, "filterChainMap must be set"); @@ -132,7 +133,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo filters[i].init(filterConfig); } } - } + } public void destroy() { Filter[] filters = obtainAllDefinedFilters(); @@ -288,7 +289,7 @@ public class FilterChainProxy implements Filter, InitializingBean, ApplicationCo filterChainMap.put(compiledPath, filters); } } - + /** * Returns a copy of the underlying filter chain map. Modifications to the map contents