[cairo-bugs] [Bug 21706] New: zombie ft_font_face / ft_unscaled_font mutual referencing problems

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue May 12 13:55:03 PDT 2009


http://bugs.freedesktop.org/show_bug.cgi?id=21706

           Summary: zombie ft_font_face / ft_unscaled_font mutual
                    referencing problems
           Product: cairo
           Version: 1.9.1
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: freetype font backend
        AssignedTo: david at freetype.org
        ReportedBy: bugs.freedesktop at karlt.net
         QAContact: cairo-bugs at cairographics.org
                CC: freedesktop at behdad.org


There can be more than one zombie font_face belonging to an unscaled_font, but
only the first is destroyed:

http://cgit.freedesktop.org/cairo/tree/src/cairo-ft-font.c#n544

This leaks the client's FT_Face (and associated font data) as release of the
FT_Face depends on release of the font_face.

(The reason why Firefox ends up with two different font_faces for one
unscaled_font is that load_flags for faces with artificial oblique have
FT_LOAD_NO_BITMAP set.  https://bugzilla.mozilla.org/show_bug.cgi?id=486974)

Also it's possible for _cairo_ft_font_face_create to pull out a zombie
font_face from the unscaled_font, which would crash
_cairo_ft_font_face_scaled_font_create, as that expects non-null
font_face->unscaled (if !font-face->pattern).


-- 
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