> I do find some signed overflows, using a homemade static checker.
>
> src/cache/ftcbasic.c:360
> src/cache/ftcbasic.c:695
>
> if ( (FT_ULong)(type->flags - FT_INT_MIN) > FT_UINT_MAX )
>
> gcc optimizes this check away. [...]
This happens on 32bit hosts also? Can you advise a patch?
> There is another possible overflow that I don't understand.
>
> src/raster/ftraster.c:3052
>
> if ( e1 > e2 || ...)
>
> Is e1 > e2 only possible on signed overflow?
Why do you think that this test has anything to do with overflow?
Values `e1' and `e2' are floored and ceiled so that the lower 6 or 12
bits (depending on `ras.precision') are zero. Then a comparison is
done whether e1 > e2. There is no overflow involved at all.
Werner
_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel