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)
This commit is contained in:
Joo200 2023-09-14 12:07:11 +02:00 committed by Alexander Brandes
parent 0744504fad
commit 81ba7d1acd
No known key found for this signature in database
GPG Key ID: 158F5701A6AAD00C

View File

@ -98,6 +98,8 @@ public class YAMLProcessor extends YAMLNode {
LoaderOptions loaderOptions = new LoaderOptions(); LoaderOptions loaderOptions = new LoaderOptions();
try { try {
int yamlAliasLimit = Integer.getInteger("worldedit.yaml.aliasLimit", 50);
loaderOptions.setMaxAliasesForCollections(yamlAliasLimit);
// 64 MB default // 64 MB default
int yamlCodePointLimit = Integer.getInteger("worldedit.yaml.codePointLimit", 64 * 1024 * 1024); int yamlCodePointLimit = Integer.getInteger("worldedit.yaml.codePointLimit", 64 * 1024 * 1024);
loaderOptions.setCodePointLimit(yamlCodePointLimit); loaderOptions.setCodePointLimit(yamlCodePointLimit);
@ -105,7 +107,7 @@ public class YAMLProcessor extends YAMLNode {
// pre-1.32 snakeyaml // 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; this.file = file;
} }