On Fri, 17 Sep 2021 12:45:29 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> Hi all, >> >> Please review this fix for Infinite loop in ZipOutputStream.close(). >> The main issue here is when ever there is an exception during close >> operations on GZip we are not setting the deflator to a finished state which >> is leading to an infinite loop when we try writing on the same GZip >> instance( since we use while(!def.finished()) inside the write operation). >> >> Thanks, >> Ravi > > src/java.base/share/classes/java/util/zip/DeflaterOutputStream.java line 249: > >> 247: out.close(); >> 248: closed = true; >> 249: throw ioe; > > Have you tried using try-finally instead? Hi Alan , Sorry for the delayed response , I was out of office for 3 weeks. I haven't tried with try-finally , I'm reworking on the fix as , if we directly use zip.finish() , we are facing the same issue. I will update here once the fix is ready.Thanks. ------------- PR: https://git.openjdk.java.net/jdk/pull/5522