Fixed #1227 AS3 avoid recursion (stackoverflow) caused by newfunction instruction

This commit is contained in:
Jindra Petřík
2021-02-11 11:10:56 +01:00
parent df482b5343
commit 66b0d0bb13
23 changed files with 91 additions and 61 deletions

View File

@@ -21,6 +21,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import static org.testng.Assert.assertEquals;
@@ -93,9 +94,9 @@ public abstract class ActionScript3DecompileTestBase extends ActionScriptTestBas
Configuration.autoDeobfuscate.set(methodName.toLowerCase().contains("obfus"));
abc.bodies.get(bodyIndex).convert(new ConvertData(), "run", ScriptExportMode.AS, isStatic, abc.bodies.get(bodyIndex).method_info, scriptIndex, clsIndex, abc, null, new ScopeStack(), 0, new NulWriter(), new ArrayList<>(), ts, true);
abc.bodies.get(bodyIndex).convert(new ConvertData(), "run", ScriptExportMode.AS, isStatic, abc.bodies.get(bodyIndex).method_info, scriptIndex, clsIndex, abc, null, new ScopeStack(), 0, new NulWriter(), new ArrayList<>(), ts, true, new HashSet<>());
writer = new HighlightedTextWriter(new CodeFormatting(), false);
abc.bodies.get(bodyIndex).toString("run", ScriptExportMode.AS, abc, null, writer, new ArrayList<>());
abc.bodies.get(bodyIndex).toString("run", ScriptExportMode.AS, abc, null, writer, new ArrayList<>(), new HashSet<>());
} catch (InterruptedException ex) {
fail();
return;