[cairo] segfault in cairo-xcb-surface-render.c
thorsten
fly_a320 at gmx.de
Thu May 1 04:48:37 PDT 2014
Hello all,
when using a Firefox compiled against cairo 1.12.16 I get a segfault
when visiting some webpages, eg when scrolling an expose on
www.immobilienscout24.de.
debugging the problem with gdb led me to line 3125 of
cairo-xcb-surface-render.c:
_cairo_clip_path_destroy (clip->path);
where on that webpage for reasons I don't know clip->path = NULL
I changed the line to
if (clip->path != NULL) _cairo_clip_path_destroy (clip->path);
which fixes the segfault.
See patch below:
cat /usr/src/blfs-src/cairo-1.12.16-fix-segfault.patch
--- cairo-1.12.16/src/cairo-xcb-surface-render.c-orig 2014-05-01
13:31:53.386347915 +0200
+++ cairo-1.12.16/src/cairo-xcb-surface-render.c 2014-05-01
13:32:12.099032718 +0200
@@ -3123,7 +3123,7 @@
clip = _cairo_clip_intersect_boxes (clip, boxes);
status = _cairo_clip_get_polygon (clip, &polygon,
&fill_rule, &antialias);
- _cairo_clip_path_destroy (clip->path);
+ if (clip->path != NULL) _cairo_clip_path_destroy (clip->path);
clip->path = NULL;
if (likely (status == CAIRO_INT_STATUS_SUCCESS)) {
cairo_clip_t *saved_clip = extents->clip;
regards,
thorsten
More information about the cairo
mailing list