From c3980bb4ec2bfdb5dcd78d1ca29aba426a0085af Mon Sep 17 00:00:00 2001 From: Doug Nazar Date: Fri, 13 Jun 2025 19:22:31 -0400 Subject: [PATCH] glx: Fix memory leak with software dri dri_screen_init() now calls glx_screen_init() directly. Calling twice overwrites the config. Fixes: 7930fe5f017 ("glx: unify dri screen init") Reviewed-by: Mike Blumenkrantz Part-of: --- src/glx/drisw_glx.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index debe9219730..2eb5e2b52dd 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -656,17 +656,11 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv if (psc == NULL) return NULL; psc->kopper = !strcmp(driver, "zink"); - - if (!glx_screen_init(&psc->base, screen, priv)) { - free(psc); - return NULL; - } - psc->base.driverName = strdup(driver); if (glx_driver) loader_extensions_local = kopper_extensions_noshm; - else if (!check_xshm(psc->base.dpy)) + else if (!check_xshm(priv->dpy)) loader_extensions_local = loader_extensions_noshm; else loader_extensions_local = loader_extensions_shm;