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>
This commit is contained in:
Arpit Jain 2015-07-06 14:13:06 -07:00 committed by Bryce Harrington
parent 06a2696d5f
commit f6843d5cbb

View file

@ -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);
}