[cairo-bugs] [Bug 9276] _cairo_image_surface_composite_trapezoids attempts to calloc huge amount of memory

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Oct 8 06:20:46 PDT 2008


M Joonas Pihlaja <jpihlaja at cc.helsinki.fi> changed:

           What    |Removed                     |Added
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #25 from M Joonas Pihlaja <jpihlaja at cc.helsinki.fi>  2008-10-08 06:20:43 PST ---

Please accept my apologies for going AWOL on this bug -- I totally forgot about
it since the patches and thought it was closed, but really had just dropped the
ball on it.

Happily, the bug itself has been fixed in cairo mean while.  I'm attaching the
test case extracted from the debug log mentioned in comment #23, where there's
a dashed rectangular path that causes cairo 1.2.4 to go insane in its miter
computation.  The basic problem was that in your problem case cairo was trying
to make a miter between a zero length subpath and a new subpath, but wasn't
very good at dealing with the degeneracy.  The zero length subpath comes about
because the dash pattern has a new subpath start at just the same time as it's
supposed to be crossing a corner.

In the mean time, cairo has learnt to compute the outer point of a miter more
robustly so that this case doesn't provoke the NaNs in _cairo_stroker_join()
that it used to and which were causing the large trapezoids. So I'm closing
this bug as fixed (no more NaNs) and opening a new bug to deal specifically
with the artifacts from the degenerate miter.


Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the cairo-bugs mailing list