RFR JDK-8146431:j.u.z.ZipFile.getEntry("") throws AIOOBE

Claes Redestad claes.redestad at oracle.com
Mon Jan 4 21:05:22 UTC 2016


Thanks for fixing this!

Can getEntryPos(new byte[0], true/false); ever return anything but -1? 
Otherwise it seems the check could be moved to the start of the method.

/Claes

On 2016-01-04 22:02, Xueming Shen wrote:
> Hi, please help review the change for JDK-8146431
>
> Issue: https://bugs.openjdk.java.net/browse/JDK-8146431
> webrev: http://cr.openjdk.java.net/~sherman/8146431
>
> Cause:
>
> The parameter "ulen" in native version zip_util.c.ZIP_GetEntry() 
> serves two
> purposes, (1) the length of the name (2) whether or not to try adding a
> slash if first try failed. It has an explicit check as
>
>         /* If no real length was passed in, we are done */
>         if (ulen == 0) {
>             break;
>         }
>
> The new java implementation uses and checks the flag "addSlash", but it
> still needs to check the "name.len" before adding any slash for next try.
>
> Thanks,
> Sherman
>




More information about the core-libs-dev mailing list