Hi Roger / Lance,

 

Thanks for reviewing the fix. I have modified the fix as the review comments 
given.

 

Please find the below the updated webrev for fix.

http://cr.openjdk.java.net/~rpatil/8199776/webrev.02/
 
Regards,
Deepak

 

 

From: Roger Riggs 
Sent: Wednesday, November 28, 2018 3:15 AM
To: Deepak Kejriwal <deepak.kejri...@oracle.com>; nio-...@openjdk.java.net
Cc: core-libs-dev <core-libs-dev@openjdk.java.net>
Subject: Re: RFR: JDK-8197398 (zipfs) OutOfMemoryError when talking contents of 
empty JAR file

 

Hi,

In ZipFileSystem.java, at 1071.

 - The code will be more readable if you use character literal '/' instead of 
47.

 - Save making an extra copy of the name array by testing for '/' directly in 
the cen array 
   and create either the full name or the name without the '/'.

 - 1073: The coding style should put the '{' on the same line as the 'if'.
   Use the file's coding style.

Thanks, Roger

On 11/27/2018 04:51 AM, Deepak Kejriwal wrote:

Hi nio-dev team,
 
 
 
Gentle reminder for review of below fix.
 
 
 
Regards,
 
Deepak 
 
 
 
From: Deepak Kejriwal HYPERLINK 
"mailto:deepak.kejri...@oracle.com";<deepak.kejri...@oracle.com> 
Sent: Thursday, November 8, 2018 12:17 AM
To: 'HYPERLINK "mailto:nio-...@openjdk.java.net"nio-...@openjdk.java.net' 
HYPERLINK "mailto:nio-...@openjdk.java.net";<nio-...@openjdk.java.net>
Subject: RFR: JDK-8197398 (zipfs) OutOfMemoryError when talking contents of 
empty JAR file
 
 
 
Hi all,
 
 
 
Please help review the changes for JDK-8199776 to JDK8u:-
 
 
 
Master Bug: https://bugs.openjdk.java.net/browse/JDK-8199776 
 
Webrev: http://cr.openjdk.java.net/~rpatil/8199776/webrev.00/
 
 
 
 
 
Background:-
 
The Files.walkFileTree walk indefinitely while processing JAR file with "/" as 
a directory inside. 
 
 
 
Proposed fix:
 
 
 
Files.walkFileTree api for jar internally uses ZipfileSystem. While iterating 
over the zip entries we have added a check to see if entry name is equal to "/" 
(absolute path). If the entry name is equal to "/" we don't add it to "inodes" 
map so that we don't end up with infinite loop.
 
 
 
We have similar bug HYPERLINK HYPERLINK 
"https://bugs.openjdk.java.net/browse/JDK-8197398""https://bugs.openjdk.java.net/browse/JDK-8197398"JDK-8197398
 fixed in jdk 12. Below is the difference between fix for jdk 12 and jdk 8:-
 
The fix for above issue for jdk 12 handle a case where we can update an 
existing entry in jar with "/" (absolute path).  As in case of jdk 8 we cannot 
update the existing zipentry as doing so we get "FileAlreadyExistsException". 
Therefore, fix for jdk 8u does not consider this case.
 
 
 
Regards,
 
Deepak
 
 

 

Reply via email to