From 1482bcdfe019fbec802a3713942a007adccfff06 Mon Sep 17 00:00:00 2001 From: nik Date: Mon, 25 Jul 2016 14:04:53 +0300 Subject: [PATCH] command line wrapper: don't copy program arguments twice --- .../src/com/intellij/rt/execution/CommandLineWrapper.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/java-runtime/src/com/intellij/rt/execution/CommandLineWrapper.java b/java/java-runtime/src/com/intellij/rt/execution/CommandLineWrapper.java index 35a317b494e7..e7cf5ec79988 100644 --- a/java/java-runtime/src/com/intellij/rt/execution/CommandLineWrapper.java +++ b/java/java-runtime/src/com/intellij/rt/execution/CommandLineWrapper.java @@ -41,7 +41,6 @@ public class CommandLineWrapper { : loadMainClassWithOldCustomLoader(jarFile, args); String[] mainArgs = mainPair.getArgs(); Class mainClass = mainPair.getMainClass(); - System.arraycopy(args, 2, mainArgs, 0, mainArgs.length); //noinspection SSBasedInspection Class mainArgType = (new String[0]).getClass(); Method main = mainClass.getMethod("main", new Class[]{mainArgType}); @@ -70,7 +69,9 @@ public class CommandLineWrapper { jarFile.deleteOnExit(); } - return new MainPair(Class.forName(args[1]), new String[args.length - 2]); + String[] mainArgs = new String[args.length - 2]; + System.arraycopy(args, 2, mainArgs, 0, mainArgs.length); + return new MainPair(Class.forName(args[1]), mainArgs); } private static class MainPair {