Skip to content

Commit da5787a

Browse files
committed
Fix getConfigurersInInitializing Semantics
A getter should not mutate state. This removes getConfigurersInInitializing in favor of inline code since this is just used once. Issue gh-17020 gh-17011 Signed-off-by: Rob Winch <[email protected]>
1 parent 813d180 commit da5787a

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

config/src/main/java/org/springframework/security/config/annotation/AbstractConfiguredSecurityBuilder.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public abstract class AbstractConfiguredSecurityBuilder<O, B extends SecurityBui
6060

6161
private final LinkedHashMap<Class<? extends SecurityConfigurer<O, B>>, List<SecurityConfigurer<O, B>>> configurers = new LinkedHashMap<>();
6262

63-
private final List<SecurityConfigurer<O, B>> configurersAddedInInitializing = new ArrayList<>();
63+
private List<SecurityConfigurer<O, B>> configurersAddedInInitializing = new ArrayList<>();
6464

6565
private final Map<Class<?>, Object> sharedObjects = new HashMap<>();
6666

@@ -371,7 +371,9 @@ private void init() throws Exception {
371371
configurer.init((B) this);
372372
}
373373
while (!this.configurersAddedInInitializing.isEmpty()) {
374-
for (SecurityConfigurer<O, B> configurer : getConfigurersInInitializing()) {
374+
List<SecurityConfigurer<O, B>> toInit = this.configurersAddedInInitializing;
375+
this.configurersAddedInInitializing = new ArrayList<>();
376+
for (SecurityConfigurer<O, B> configurer : toInit) {
375377
configurer.init((B) this);
376378
}
377379
}
@@ -393,12 +395,6 @@ private Collection<SecurityConfigurer<O, B>> getConfigurers() {
393395
return result;
394396
}
395397

396-
private List<SecurityConfigurer<O, B>> getConfigurersInInitializing() {
397-
List<SecurityConfigurer<O, B>> result = new ArrayList<>(this.configurersAddedInInitializing);
398-
this.configurersAddedInInitializing.clear();
399-
return result;
400-
}
401-
402398
/**
403399
* Determines if the object is unbuilt.
404400
* @return true, if unbuilt else false

0 commit comments

Comments
 (0)