After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 756983 - Defend against failure of cairo_pattern_get_surface()
Defend against failure of cairo_pattern_get_surface()
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2015-10-22 17:35 UTC by Owen Taylor
Modified: 2015-10-22 19:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Defend against failure of cairo_pattern_get_surface() (2.74 KB, patch)
2015-10-22 17:35 UTC, Owen Taylor
committed Details | Review

Description Owen Taylor 2015-10-22 17:35:34 UTC
There are quite a few crashes in retrace.fedoraproject.org that are a result of
of cairo_pattern_get_surface() failing, then a subsequent call to
cairo_image_surface_get_width() crashing because no surface was returned to the
out parameter. Knowing what causes these is hard - my best guess is widgets getting
allocated at ridiculous sizes - but avoiding the crash makes sense in any case.

See https://bugzilla.redhat.com/show_bug.cgi?id=1206754
Comment 1 Owen Taylor 2015-10-22 17:35:39 UTC
Created attachment 313884 [details] [review]
Defend against failure of cairo_pattern_get_surface()
Comment 2 Florian Müllner 2015-10-22 19:12:54 UTC
Review of attachment 313884 [details] [review]:

OK
Comment 3 Owen Taylor 2015-10-22 19:16:29 UTC
Pushed to master and gnome-3-18

Attachment 313884 [details] pushed as 6d22670 - Defend against failure of cairo_pattern_get_surface()