RFR : 8038491: Improve synchronization in ZipFile.read() (original) (raw)

Xueming Shen xueming.shen at oracle.com
Tue Apr 8 15:59:38 UTC 2014


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.



More information about the core-libs-dev mailing list