From 81ba7d1acdea586fa7e515aa6b4b1bcff43aa29c Mon Sep 17 00:00:00 2001 From: Joo200 Date: Thu, 14 Sep 2023 12:07:11 +0200 Subject: [PATCH] Add worldedit runtime environment to increase yaml alias limit (#2395) This can be set by -Dworldedit.yaml.aliasLimit=XXX in the startup parameter (cherry picked from commit 94565356fd39bf360b35ee77ea5b3614d48be772) --- .../src/main/java/com/sk89q/util/yaml/YAMLProcessor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java b/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java index 146428c3e..f50bd991f 100644 --- a/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java +++ b/worldedit-core/src/main/java/com/sk89q/util/yaml/YAMLProcessor.java @@ -98,6 +98,8 @@ public class YAMLProcessor extends YAMLNode { LoaderOptions loaderOptions = new LoaderOptions(); try { + int yamlAliasLimit = Integer.getInteger("worldedit.yaml.aliasLimit", 50); + loaderOptions.setMaxAliasesForCollections(yamlAliasLimit); // 64 MB default int yamlCodePointLimit = Integer.getInteger("worldedit.yaml.codePointLimit", 64 * 1024 * 1024); loaderOptions.setCodePointLimit(yamlCodePointLimit); @@ -105,7 +107,7 @@ public class YAMLProcessor extends YAMLNode { // pre-1.32 snakeyaml } - yaml = new Yaml(new SafeConstructor(new LoaderOptions()), representer, dumperOptions, loaderOptions); + yaml = new Yaml(new SafeConstructor(loaderOptions), representer, dumperOptions, loaderOptions); this.file = file; }