Skip to content

Commit fca704e

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 ea9dd27 commit fca704e

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

@@ -388,7 +388,9 @@ private void init() throws Exception {
388388
configurer.init((B) this);
389389
}
390390
while (!this.configurersAddedInInitializing.isEmpty()) {
391-
for (SecurityConfigurer<O, B> configurer : getConfigurersInInitializing()) {
391+
List<SecurityConfigurer<O, B>> toInit = this.configurersAddedInInitializing;
392+
this.configurersAddedInInitializing = new ArrayList<>();
393+
for (SecurityConfigurer<O, B> configurer : toInit) {
392394
configurer.init((B) this);
393395
}
394396
}
@@ -410,12 +412,6 @@ private Collection<SecurityConfigurer<O, B>> getConfigurers() {
410412
return result;
411413
}
412414

413-
private List<SecurityConfigurer<O, B>> getConfigurersInInitializing() {
414-
List<SecurityConfigurer<O, B>> result = new ArrayList<>(this.configurersAddedInInitializing);
415-
this.configurersAddedInInitializing.clear();
416-
return result;
417-
}
418-
419415
/**
420416
* Determines if the object is unbuilt.
421417
* @return true, if unbuilt else false

0 commit comments

Comments
 (0)