[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cairo-bugs
Subject:    [cairo-bugs] [Bug 21706] New: zombie ft_font_face /
From:       bugzilla-daemon () freedesktop ! org
Date:       2009-05-12 20:55:03
Message-ID: bug-21706-4039 () http ! bugs ! freedesktop ! org/
[Download RAW message or body]

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@freetype.org
        ReportedBy: bugs.freedesktop@karlt.net
         QAContact: cairo-bugs@cairographics.org
                CC: freedesktop@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.
_______________________________________________
cairo-bugs mailing list
cairo-bugs@lists.cairographics.org
http://lists.cairographics.org/mailman/listinfo/cairo-bugs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic