Hello, Brian
On 11/15/2016 7:25 PM, Brian Burkhalter wrote:
Hello Alexander,
On Nov 15, 2016, at 4:11 AM, Alexander Stepanov
<alexander.v.stepa...@oracle.com
<mailto:alexander.v.stepa...@oracle.com>> wrote:
Thank you for the comments (hopefully I wasn't too confident picking
the issue).
You’re welcome. I doubt that you will have any trouble with it.
Yes, from the "do not harm" position it seems better to remove all
the reduction-related fragments (leaving these worries to the user),
but keep the zero denominator checks + the sign checks for the
unsigned fractions.
Again, as I mentioned, I don’t know about the feasibility of zero
denominator checks given that it is sometimes necessary to create a
TIFFField whose data object is allocated but uninitialized.
yes, the changes in createArrayForType() were made for this purpose.
probably they are not enough..
One more silly question - if some upper bound (2^32 - 1) check should
be added for TIFF_RATIONAL's numerator/denominator? At a 1st glance,
it seems to be needless; on the other hand, it seems that the longs
should be used to store 32-bit unsigned integers(?). Not sure if it
could cause any side effects.
If one were to do the actual division and the numerator is not a
multiple of the denominator, then the result would likely be stored as
a floating point value. Given that I am not sure that an overflow
check is needed.
Thanks,
Brian
Looking more carefully at some other TIFF_<TYPES>, some other potential
border/sign issues can be seen (JDK-8169725, JDK-8169728). So it seems
there is some common potential imprecision here.
Thanks,
Alexander