xfree86: xf86helper: fix NULL dereference

xf86MatchDevice() can segfault if screensecptr->device is NULL.

Issue: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1767
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1847>
This commit is contained in:
Enrico Weigelt, metux IT consult 2025-02-28 14:41:12 +01:00
parent 628e94b164
commit fe9c911e22

View File

@ -1304,7 +1304,8 @@ xf86MatchDevice(const char *drivername, GDevPtr ** sectlist)
*/
for (j = 0; xf86ConfigLayout.screens[j].screen != NULL; j++) {
screensecptr = xf86ConfigLayout.screens[j].screen;
if ((screensecptr->device->driver != NULL)
if ((screensecptr->device != NULL)
&& (screensecptr->device->driver != NULL)
&& (xf86NameCmp(screensecptr->device->driver, drivername) == 0)
&& (!screensecptr->device->claimed)) {
/*