From 6c605715281073e0d5fc3103b83c3855820c0e33 Mon Sep 17 00:00:00 2001 From: xurui Date: Wed, 22 Mar 2023 17:08:58 +0800 Subject: [PATCH] modesetting: Check the return value of the drmGetVersion Signed-off-by: xurui --- hw/xfree86/drivers/modesetting/driver.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c index 334102d9c..ea8873d55 100644 --- a/hw/xfree86/drivers/modesetting/driver.c +++ b/hw/xfree86/drivers/modesetting/driver.c @@ -1100,16 +1100,21 @@ msShouldDoubleShadow(ScrnInfoPtr pScrn, modesettingPtr ms) { Bool ret = FALSE, asked; int from; - drmVersionPtr v = drmGetVersion(ms->fd); + drmVersionPtr v; if (!ms->drmmode.shadow_enable) return FALSE; - if (!strcmp(v->name, "mgag200") || - !strcmp(v->name, "ast")) /* XXX || rn50 */ - ret = TRUE; + if ((v = drmGetVersion(ms->fd))) { + if (!strcmp(v->name, "mgag200") || + !strcmp(v->name, "ast")) /* XXX || rn50 */ + ret = TRUE; - drmFreeVersion(v); + drmFreeVersion(v); + } + else + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Failed to query DRM version.\n"); asked = xf86GetOptValBool(ms->drmmode.Options, OPTION_DOUBLE_SHADOW, &ret);