From 37f1d19a6873eeba84a407eae6a28012206eae2e Mon Sep 17 00:00:00 2001 From: stefan11111 Date: Sun, 2 Nov 2025 02:52:07 +0200 Subject: [PATCH] glx: Add some NULL pointer checks This prevents mesa from segfaulting if GLX is working on some screens, but not all screens. Reviewed-by: Adam Jackson Signed-off-by: stefan11111 Part-of: --- src/glx/glxcmds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 48ebfe126e9..f33af34a7a2 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -157,7 +157,7 @@ GetGLXPrivScreenConfig(Display * dpy, int scrn, struct glx_display ** ppriv, /* Check to see if the GL is supported on this screen */ *ppsc = (*ppriv)->screens[scrn]; - if ((*ppsc)->configs == NULL && (*ppsc)->visuals == NULL) { + if (*ppsc == NULL || ((*ppsc)->configs == NULL && (*ppsc)->visuals == NULL)) { /* No support for GL on this screen regardless of visual */ return GLX_BAD_VISUAL; } @@ -1477,6 +1477,7 @@ glXGetFBConfigs(Display * dpy, int screen, int *nelements) *nelements = 0; if (priv && (priv->screens != NULL) && (screen >= 0) && (screen < ScreenCount(dpy)) + && (priv->screens[screen] != NULL) && (priv->screens[screen]->configs != NULL) && (priv->screens[screen]->configs->fbconfigID != (int) GLX_DONT_CARE)) {