From 909dfcbc6c82c591f551b058da7bca754a6bb8bb Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Fri, 21 Jul 2017 16:45:08 +0300 Subject: [PATCH] IDEA-176329 "Delegate IDE build/run actions to Gradle" does not escape program arguments properly --- .../execution/build/GradleApplicationEnvironmentProvider.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/build/GradleApplicationEnvironmentProvider.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/build/GradleApplicationEnvironmentProvider.java index a5e26fb2bcf4..5fb7680aaf8b 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/build/GradleApplicationEnvironmentProvider.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/build/GradleApplicationEnvironmentProvider.java @@ -98,7 +98,9 @@ public class GradleApplicationEnvironmentProvider implements GradleExecutionEnvi StringBuilder parametersString = new StringBuilder(); for (String parameter : params.getProgramParametersList().getParameters()) { - parametersString.append("args '").append(StringUtil.escapeBackSlashes(parameter)).append("'\n"); + if (StringUtil.isEmpty(parameter)) continue; + String escaped = StringUtil.escapeChars(parameter, '\\', '"', '\''); + parametersString.append("args '").append(escaped).append("'\n"); } StringBuilder vmParametersString = new StringBuilder();