[PATCH] xlib: Fix deferencing of uninitialised 'display'

Arpit Jain <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
    Initialising 'display' to NULL and checking before deferencing during display->base.
    This patch will check the deferencing of uninitialised 'display' in case,
    _cairo_xlib_display_acquire does not return CAIRO_STATUS_SUCCESS.

    Fixes:  https://bugs.freedesktop.org/show_bug.cgi?id=87893

Signed-off-by: Arpit Jain <[email protected]>
---
 src/cairo-xlib-render-compositor.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c
index 8a1ec7b..055780d 100644
--- a/src/cairo-xlib-render-compositor.c
+++ b/src/cairo-xlib-render-compositor.c
@@ -958,7 +958,7 @@ _cairo_xlib_font_fini (cairo_scaled_font_private_t *abstract_private,
 {
     cairo_xlib_font_t *priv = (cairo_xlib_font_t *) abstract_private;
     cairo_status_t status;
-    cairo_xlib_display_t *display;
+    cairo_xlib_display_t *display = NULL;
     int i;
 
     cairo_list_del (&priv->base.link);
@@ -978,7 +978,11 @@ _cairo_xlib_font_fini (cairo_scaled_font_private_t *abstract_private,
 
     cairo_device_release (&display->base);
 BAIL:
-    cairo_device_destroy (&display->base);
+    if(display)
+	cairo_device_destroy (&display->base);
+    else
+	cairo_device_destroy (priv->device);
+	
     free (priv);
 }
 
-- 
1.7.9.5


-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.