Browse Source

Merge branch '3.0.x'

Closes gh-35367
pull/35368/head
Moritz Halbritter 3 years ago
parent
commit
0f1870ee98
  1. 1
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java
  2. 12
      spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java

1
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedYamlLoader.java vendored

@ -67,6 +67,7 @@ class OriginTrackedYamlLoader extends YamlProcessor { @@ -67,6 +67,7 @@ class OriginTrackedYamlLoader extends YamlProcessor {
loaderOptions.setAllowDuplicateKeys(false);
loaderOptions.setMaxAliasesForCollections(Integer.MAX_VALUE);
loaderOptions.setAllowRecursiveKeys(true);
loaderOptions.setCodePointLimit(Integer.MAX_VALUE);
return createYaml(loaderOptions);
}

12
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedYamlLoaderTests.java vendored

@ -182,6 +182,18 @@ class OriginTrackedYamlLoaderTests { @@ -182,6 +182,18 @@ class OriginTrackedYamlLoaderTests {
assertThat(loaded.get("some.anotherpath.config.key")).hasToString("value");
}
@Test
void canLoadFilesBiggerThan3Mb() {
StringBuilder yaml = new StringBuilder();
while (yaml.length() < 4_194_304) {
yaml.append("- some list entry\n");
}
Resource resource = new ByteArrayResource(yaml.toString().getBytes(StandardCharsets.UTF_8));
this.loader = new OriginTrackedYamlLoader(resource);
Map<String, Object> loaded = this.loader.load().get(0);
assertThat(loaded).isNotEmpty();
}
private OriginTrackedValue getValue(String name) {
if (this.result == null) {
this.result = this.loader.load();

Loading…
Cancel
Save