[PATCH] modesetting: handle NULL cursor in drmmode_set_cursor.

Dave Airlie airlied at gmail.com
Thu Jun 22 23:29:13 UTC 2017


From: Dave Airlie <airlied at redhat.com>

We had a bug reported with a touchscreen where we could end up
in here with a NULL cursor, so let's not crash the X server.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 hw/xfree86/drivers/modesetting/drmmode_display.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index aa6baae..71a6923 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -759,6 +759,9 @@ drmmode_set_cursor(xf86CrtcPtr crtc)
     CursorPtr cursor = xf86CurrentCursor(crtc->scrn->pScreen);
     int ret = -EINVAL;
 
+    if (cursor == NullCursor)
+	    return TRUE;
+
     ret = drmModeSetCursor2(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
                             handle, ms->cursor_width, ms->cursor_height,
                             cursor->bits->xhot, cursor->bits->yhot);
-- 
2.9.4



More information about the xorg-devel mailing list