[OpenJDK Rasterizer] Fix Overflow in Marlin ArrayCache
Jim Graham
james.graham at oracle.com
Tue Dec 1 23:04:10 UTC 2015
Hi Laurent,
I submitted the following bug:
https://bugs.openjdk.java.net/browse/JDK-8144445
The change looks fine. Are the long modifiers (12L, 1L, etc) really
needed on the shift parameters given that the first operand (needSize)
is already a long?
202 size = ((needSize >> 12L) + 1L) << 12L;
...jim
On 11/27/15 3:42 AM, Laurent Bourgès wrote:
> Hi,
>
> Here is a new webrev that fix the Renderer usage of getNewLargeSize() as
> the overflow check fails due to integer maths:
> http://cr.openjdk.java.net/~lbourges/marlin/marlin-s6.1/
>
> Patched line:
>
> final long edgeNewSize = ArrayCache.getNewLargeSize(_edges.length,
> - edgePtr + _SIZEOF_EDGE_BYTES);
> + ((long)edgePtr) + _SIZEOF_EDGE_BYTES);
>
>
> The CrashTest passes again after the fix (automated tests are very cool) !
>
> Laurent
>
> 2015-11-27 12:18 GMT+01:00 Laurent Bourgès <bourges.laurent at gmail.com
> <mailto:bourges.laurent at gmail.com>>:
>
> Hi Jim,
>
> Here is a simple fix on potential overflow in
> ArrayCache.getNewLargeSize() discussed during Marlin integration:
> http://cr.openjdk.java.net/~lbourges/marlin/marlin-s6.0/
>
> I added the ArrayCacheSizeTest class which now passes in jtreg.
>
> Could you create a bug, I am not sure what I should fill in the form ?
>
> Laurent
>
>
>
>
> --
> --
> Laurent Bourgès
More information about the graphics-rasterizer-dev
mailing list