From 5e56384636f2250d5ac35524ff40b60938b13a9c Mon Sep 17 00:00:00 2001 From: Aaron Plattner Date: Thu, 19 Jul 2018 10:51:34 -0700 Subject: [PATCH] gpu-kms: Don't crash if drmModeGetResources returns NULL DRM drivers can be opened by meta_launcher_open_restricted() even if they don't implement modesetting. However, drmModeGetResources() will return NULL. Check whether that happened in meta_gpu_kms_new() and return with an error instead of crashing. Fixes #223. --- src/backends/native/meta-gpu-kms.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backends/native/meta-gpu-kms.c b/src/backends/native/meta-gpu-kms.c index c4a6fb051..1d1c28809 100644 --- a/src/backends/native/meta-gpu-kms.c +++ b/src/backends/native/meta-gpu-kms.c @@ -804,6 +804,13 @@ meta_gpu_kms_new (MetaMonitorManagerKms *monitor_manager_kms, */ drm_resources = drmModeGetResources (kms_fd); + if (!drm_resources) + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "No resources"); + meta_launcher_close_restricted (launcher, kms_fd); + return NULL; + } + n_connectors = drm_resources->count_connectors; drmModeFreeResources (drm_resources);