> Can I please get a review of this change which proposes to address the issue 
> reported in https://bugs.openjdk.org/browse/JDK-8345506?
> 
> The `jar` tool has several operations which take `--file` as a parameter. The 
> value for that option is a JAR file path. The `jar` operation is then run 
> against that JAR file. The `--file` parameter is optional and when it isn't 
> provided, the `jar` tool expects the JAR file content to be streamed through 
> STDIN of the `jar` process.
> 
> The issue here is that the `--validate` option has a bug in the 
> implementation where when the `--file` option is absent, it tries to read 
> from the STDIN into a temporary file that the implementation just created. To 
> do so it uses `Files.copy(...)` which throws an exception if the destination 
> file exists (which it does in this case because that temporary destination 
> file was created just a few lines above).
> 
> The fix in this commit address this issue by using an alternate way to 
> transfer the JAR content into the temporary file. 
> 
> A new jtreg test has been introduced to reproduce the issue and verify the 
> fix. I couldn't locate any other existing test which was exercising the code 
> path which deals with `jar` operations against the STDIN of the `jar` 
> process. So the new jtreg test has test for other operations and not just 
> `--validate` operation.
> 
> The new test and existing tests in tier1, tier2 and tier3 continue to pass 
> with this change.

Jaikiran Pai has updated the pull request incrementally with one additional 
commit since the last revision:

  include a test for "jar --update"

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22734/files
  - new: https://git.openjdk.org/jdk/pull/22734/files/d505e418..68c695e1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22734&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22734&range=00-01

  Stats: 39 lines in 1 file changed: 39 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/22734.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22734/head:pull/22734

PR: https://git.openjdk.org/jdk/pull/22734

Reply via email to