On Mon, 7 Mar 2022 16:46:28 GMT, Roger Riggs <rri...@openjdk.org> wrote:

>> Olga Mikhaltsova has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Reverted addition of the test via echo
>
> As an alternative fix, please take a look at Draft PR: 
> https://github.com/openjdk/jdk/pull/7709.
> 
> In the default handling of arguments, the check for what is quoted is 
> reverted to prior to 8255068. First and last quotes are sufficient to 
> identify a "quoted" string. The check for a backslash ("\") is removed.
> This original check is sufficient for 
> `jdk.lang.Process.allowAmbiguousCommands = true`.
> 
> For the case where the system property 
> `jdk.lang.Process.allowAmbiguousCommands = false`
> and the argument has first and last quotes, a backslash ("\") before the 
> final quote must not allow the quote to interpreted as a literal quote and 
> merge the following argument.  The backslashes will doubled to prevent the 
> interpretation of the quote as a literal.  This is the correct encoding if 
> the command uses the ".exe" encoding, when reparsing the arguments the 
> doubled backslashes are reduced to the original contents.
> When the command is using the simpler parsing that does not support literal 
> quotes, the backslash before the quote is typically is a trailing backslash 
> on a file path and in that case the additional backslash is redundant and has 
> no effect on the interpretation of the argument as a directory path.
> 
> The PR includes a test of the 12 combinations of invoking an "java"/.exe 
> program, a .cmd script, and a Visual Basic script (which uses the .exe rules 
> but different command line parser); with and without application quotes and 
> compares the actual results with the expected arguments.

@RogerRiggs Sorry for the delay! I also checked, the test-case with VBS, that 
raised this issue, successfully workes with your patch. It would be great to 
have it asap.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7504

Reply via email to