Mercurial > hg > release > icedtea7-forest-2.5 > jdk
changeset 6323:ffc1454e644a jdk7u21-b06
8009463: Regression test test\java\lang\Runtime\exec\ArgWithSpaceAndFinalBackslash.java failing.
Reviewed-by: alanb, ahgross
author | uta |
---|---|
date | Fri, 08 Mar 2013 13:47:02 +0400 |
parents | 79a75d22a087 |
children | 33b7b1230377 |
files | src/windows/classes/java/lang/ProcessImpl.java |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/windows/classes/java/lang/ProcessImpl.java Mon Mar 11 21:04:08 2013 +0000 +++ b/src/windows/classes/java/lang/ProcessImpl.java Fri Mar 08 13:47:02 2013 +0400 @@ -262,6 +262,22 @@ if (needsEscaping(isCmdFile, s)) { cmdbuf.append('"'); cmdbuf.append(s); + + // The code protects the [java.exe] and console command line + // parser, that interprets the [\"] combination as an escape + // sequence for the ["] char. + // http://msdn.microsoft.com/en-us/library/17w5ykft.aspx + // + // If the argument is an FS path, doubling of the tail [\] + // char is not a problem for non-console applications. + // + // The [\"] sequence is not an escape sequence for the [cmd.exe] + // command line parser. The case of the [""] tail escape + // sequence could not be realized due to the argument validation + // procedure. + if (!isCmdFile && s.endsWith("\\")) { + cmdbuf.append('\\'); + } cmdbuf.append('"'); } else { cmdbuf.append(s);