mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-03 23:07:40 +01:00
SPIGOT-5881: SnakeYaml 1.26 limits non-scalar (null) nodes while 1.25 does not
By: md_5 <git@md-5.net>
This commit is contained in:
parent
932666525b
commit
42799043b2
@ -13,6 +13,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
|||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
import org.bukkit.configuration.InvalidConfigurationException;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.yaml.snakeyaml.DumperOptions;
|
import org.yaml.snakeyaml.DumperOptions;
|
||||||
|
import org.yaml.snakeyaml.LoaderOptions;
|
||||||
import org.yaml.snakeyaml.Yaml;
|
import org.yaml.snakeyaml.Yaml;
|
||||||
import org.yaml.snakeyaml.error.YAMLException;
|
import org.yaml.snakeyaml.error.YAMLException;
|
||||||
import org.yaml.snakeyaml.representer.Representer;
|
import org.yaml.snakeyaml.representer.Representer;
|
||||||
@ -25,8 +26,9 @@ public class YamlConfiguration extends FileConfiguration {
|
|||||||
protected static final String COMMENT_PREFIX = "# ";
|
protected static final String COMMENT_PREFIX = "# ";
|
||||||
protected static final String BLANK_CONFIG = "{}\n";
|
protected static final String BLANK_CONFIG = "{}\n";
|
||||||
private final DumperOptions yamlOptions = new DumperOptions();
|
private final DumperOptions yamlOptions = new DumperOptions();
|
||||||
|
private final LoaderOptions loaderOptions = new LoaderOptions();
|
||||||
private final Representer yamlRepresenter = new YamlRepresenter();
|
private final Representer yamlRepresenter = new YamlRepresenter();
|
||||||
private final Yaml yaml = new Yaml(new YamlConstructor(), yamlRepresenter, yamlOptions);
|
private final Yaml yaml = new Yaml(new YamlConstructor(), yamlRepresenter, yamlOptions, loaderOptions);
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
@ -51,6 +53,7 @@ public class YamlConfiguration extends FileConfiguration {
|
|||||||
|
|
||||||
Map<?, ?> input;
|
Map<?, ?> input;
|
||||||
try {
|
try {
|
||||||
|
loaderOptions.setMaxAliasesForCollections(Integer.MAX_VALUE); // SPIGOT-5881: Not ideal, but was default pre SnakeYAML 1.26
|
||||||
input = (Map<?, ?>) yaml.load(contents);
|
input = (Map<?, ?>) yaml.load(contents);
|
||||||
} catch (YAMLException e) {
|
} catch (YAMLException e) {
|
||||||
throw new InvalidConfigurationException(e);
|
throw new InvalidConfigurationException(e);
|
||||||
|
Loading…
Reference in New Issue
Block a user