summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-render-compositor.c
diff options
context:
space:
mode:
authorArpit Jain <jain.arpit@samsung.com>2015-07-06 14:13:06 -0700
committerBryce Harrington <bryce@osg.samsung.com>2015-07-06 14:13:24 -0700
commitf6843d5cbb79c35f7b331ac31c4a55c9574928fc (patch)
tree1363fc20332738dd29e7507e004800c0e8ba0a2d /src/cairo-xlib-render-compositor.c
parent06a2696d5fa0ea50adb1463e2ee923ac92aabbdf (diff)
downloadcairo-f6843d5cbb79c35f7b331ac31c4a55c9574928fc.tar.gz
xlib: Fix deferencing of uninitialised 'display'
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 <jain.arpit@samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Diffstat (limited to 'src/cairo-xlib-render-compositor.c')
-rw-r--r--src/cairo-xlib-render-compositor.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c
index 8a1ec7bd7..055780dd7 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);
}