Hi Jim,

Sorry it took so long - could you please have a look at
http://cr.openjdk.java.net/~ceisserer/7105461/webrev.02
It does now protect against integer overflow, using the Region.clipAdd.

Thanks, Clemens

2012/4/17 Jim Graham <james.gra...@oracle.com>:
> This code doesn't protect against integer overflow.  We don't protect
> against it in many places, but it couldn't hurt to get in the habit.  I
> think the Region code has some methods that do safe addition of integers
> with simple limit clipping that would work fine for rectangle dimensions.
>
> (JDK8 will be introducing new methods in Math for unsigned results and exact
> non-overflowing integer results as well, but that would complicate any
> backports to JDK7...)
>
>                         ...jim
>
>
> On 4/13/12 9:46 AM, Clemens Eisserer wrote:
>>
>> Hi,
>>
>> Please take a look at the patch for bug 7105461, located at
>> http://cr.openjdk.java.net/~ceisserer/7105461/webrev.00/
>>
>> The problem was caused by Swing calling drawLine/fillRect with
>> coordinates outside the valid X11 coordinate space.
>> I took the same approach of the original X11 pipeline to simply clamp
>> the corrdinates to the min/max allowed value although its not enterly
>> correct - as it doesn't adjust width/height in case it clamps x/y -
>> triggered for exmaple by the following call:
>>         g.fillRect(-32868, 0, 32968, 10);
>>
>> Should I take care of this special case, or is it ok to handle it the
>> same way the X11 pipeline does?
>>
>> Thanks, Clemens

Reply via email to