[OpenJDK 2D-Dev] [8u Backport] Fix for JDK-8158356 : SIGSEGV when attempting to rotate BufferedImage using AffineTransform by NaN degrees
Jim Graham
james.graham at oracle.com
Thu Sep 1 19:45:31 UTC 2016
Hi Ajit,
In the cases where you "continue" on a non-finite slope, doesn't that mean that the edges will be mismatched? If you
can't determine the bounding polygon, perhaps the entire operation should be aborted instead...?
It's different from the case of dy1==dy2 which also results in a "continue" because in that case there are no edges to
insert in the array because that edge of the bounding box doesn't occupy any vertical space. In the case of an infinite
slope, there could be edges expected to be produced (in fact there should be because we've already tested that dy1 !=
dy2), but the loop doesn't produce any edge values and stale data is left in the array.
...jim
On 9/1/16 2:14 AM, Ajit Ghaisas wrote:
> Hi,
>
>
>
> This is a review request for 8u back-port of the fix done in JDK-9.
>
>
>
> Bug :
>
> https://bugs.openjdk.java.net/browse/JDK-8158356
>
>
>
> Root cause :
>
> The root cause of the crash is - NaN is converted to an integer and used as array index in mlib_ImageScanPoly.c.
>
>
>
> Fix :
>
> The native method previously did not check the validity of the input double argument. Now, I have added a check for
> finite double values.
>
>
>
> Webrev :
>
> http://cr.openjdk.java.net/~aghaisas/8158356/8u_backport/webrev.00/
>
>
>
> Regards,
>
> Ajit
>
More information about the 2d-dev
mailing list