Hi Sean,
It might be more explicit to check "if (zentry == 0)" here?
-Sherman
On 4/8/14 8:21 AM, Seán Coffey wrote:
A recently reported bug shows a race condition is possible on the rem
== 0 check in ZipFile.read(byte b[], int off, int len). A bad check
can result in referencing a jzentry structure that might already be
freed and hence result in a SEGV. The fix is trivial and involves
moving the rem == 0 check into a synchronized block. The ZipFile API
itself is not thread safe so having mutiple threads operate on the
same ZipFileInputStream is something that should never be performed.
webrev : http://cr.openjdk.java.net/~coffeys/webrev.8038491/webrev/
regards,
Sean.