[cairo-bugs] [Bug 44859] New: Invalid assertion statement in causes an application to fail

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jan 17 05:24:54 PST 2012


             Bug #: 44859
           Summary: Invalid assertion statement in causes an application
                    to fail
    Classification: Unclassified
           Product: cairo
           Version: 1.10.3
          Platform: ARM
        OS/Version: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: freetype font backend
        AssignedTo: david at freetype.org
        ReportedBy: flareonenator at gmail.com
         QAContact: cairo-bugs at cairographics.org

In the _cairo_ft_unscaled_font_lock_face, the following assertion code is

    /* If this unscaled font was created from an FT_Face then we just
     * returned it above. */
    assert (!unscaled->from_face);

When  _font_map_release_face_lock_held (font_map, entry) is called further
below in the function, it sets unscaled->face to NULL, but unscaled->from_face
remains true.

So when a call to _cairo_ft_unscaled_font_lock_face is made again for the
released scaled face, it leads to an assertion failure, because 

if (unscaled->face)
        return unscaled->face;

does not return (unscaled->face is now NULL), while unscaled->from_face is
true. This leads to an assertion failure.

Configure bugmail: https://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