From cba5a10fd93310702cad9dbe1e6d48da99f5552f Mon Sep 17 00:00:00 2001 From: Alex Goins Date: Wed, 26 Oct 2016 11:03:49 -0700 Subject: [PATCH] ramdac: Check sPriv != NULL in xf86CheckHWCursor() xf86CheckHWCursor() would dereference sPriv without NULL checking it. If Option "SWCursor" is specified, sPriv == NULL. In this case we should assume that HW cursors are not supported. Signed-off-by: Alex Goins Reviewed-by: Andy Ritger Signed-off-by: Keith Packard --- hw/xfree86/ramdac/xf86HWCurs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c index da2b18101..448132095 100644 --- a/hw/xfree86/ramdac/xf86HWCurs.c +++ b/hw/xfree86/ramdac/xf86HWCurs.c @@ -148,6 +148,10 @@ xf86CheckHWCursor(ScreenPtr pScreen, CursorPtr cursor, xf86CursorInfoPtr infoPtr continue; sPriv = dixLookupPrivate(&pSlave->devPrivates, xf86CursorScreenKey); + if (!sPriv) /* NULL if Option "SWCursor", possibly other conditions */ + return FALSE; + + /* FALSE if HWCursor not supported by slave */ if (!xf86ScreenCheckHWCursor(pSlave, cursor, sPriv->CursorInfoPtr)) return FALSE; }