diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2023-02-10 16:06:10 +0000 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2023-02-10 16:13:52 +0000 |
commit | dcf5fcad120ee9da80b82d453b795d64c58668c6 (patch) | |
tree | 56bfcb297b7cb4bc47547482d17cc916b6c7e606 /Resource | |
parent | c52b4a80cdfc6d9b7d04f52c4a872717aeeff73c (diff) | |
download | ghostpdl-dcf5fcad120ee9da80b82d453b795d64c58668c6.tar.gz |
Bug 706409: Fix infinite loop in shading code.
In the new subdivide_patch_fill_floats code (and indeed
in subdivide_patch_fill), there was a flaw in the logic.
Consider a rectangle (0,0) (100,100) and a patch with
v[0].p = v[1].p = v[2],p = v[3].p = (0,101).
We would therefore arrive at check_rot_bottom, and calculate
m0 = m1 = 101.
This is not <= rect.q.y, so we would continue through the
calculation, setting changed without actually changing the
coords of the patch.
The fix is to test against the same value in the middle of the
loop as we do at the end.
Do this throughout the code.
Diffstat (limited to 'Resource')
0 files changed, 0 insertions, 0 deletions