Skip to content

Commit 9153a27

Browse files
authored
fix: support 10mb apktool.yml parsing (#3015)
1 parent 1d60523 commit 9153a27

File tree

1 file changed

+7
-3
lines changed
  • brut.apktool/apktool-lib/src/main/java/brut/androlib/meta

1 file changed

+7
-3
lines changed

brut.apktool/apktool-lib/src/main/java/brut/androlib/meta/MetaInfo.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package brut.androlib.meta;
1818

1919
import org.yaml.snakeyaml.DumperOptions;
20+
import org.yaml.snakeyaml.LoaderOptions;
2021
import org.yaml.snakeyaml.Yaml;
2122
import org.yaml.snakeyaml.introspector.PropertyUtils;
2223

@@ -40,14 +41,17 @@ public class MetaInfo {
4041
public Collection<String> doNotCompress;
4142

4243
private static Yaml getYaml() {
43-
DumperOptions options = new DumperOptions();
44-
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
44+
DumperOptions dumpOptions = new DumperOptions();
45+
dumpOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
4546

4647
EscapedStringRepresenter representer = new EscapedStringRepresenter();
4748
PropertyUtils propertyUtils = representer.getPropertyUtils();
4849
propertyUtils.setSkipMissingProperties(true);
4950

50-
return new Yaml(new ClassSafeConstructor(), representer, options);
51+
LoaderOptions loaderOptions = new LoaderOptions();
52+
loaderOptions.setCodePointLimit(10 * 1024 * 1024); // 10mb
53+
54+
return new Yaml(new ClassSafeConstructor(), representer, dumpOptions, loaderOptions);
5155
}
5256

5357
public void save(Writer output) {

0 commit comments

Comments
 (0)