From b8347e3a45db4fc06ac158ae6c9831a8437c91c9 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Mon, 2 May 2016 22:40:13 +0100 Subject: compositor-drm: Prevent a crash in the pixman renderer When pixman is used and no connector could be found (or any other error), drm_backend_create() tried to destroy a gbm_device that would only be created in init_egl(), resulting in a segfault. Signed-off-by: Emmanuel Gil Peyrot Reviewed-by: Quentin Glidic Reviewed-by: Pekka Paalanen --- src/compositor-drm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index 1ce9b2d2..893877d9 100644 --- a/src/compositor-drm.c +++ b/src/compositor-drm.c @@ -3191,7 +3191,8 @@ err_drm_source: err_udev_input: udev_input_destroy(&b->input); err_sprite: - gbm_device_destroy(b->gbm); + if (b->gbm) + gbm_device_destroy(b->gbm); destroy_sprites(b); err_udev_dev: udev_device_unref(drm_device); -- cgit v1.2.1