From 5d8f149a57bed6d1c6692954a1cd7f03ffcbf2d9 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Fri, 15 Aug 2025 14:25:05 +0200 Subject: [PATCH] dix: fix memory clearing in dix_main() Clearing of screens and gpuscreens pointer list on teardown has been wrong. Signed-off-by: Enrico Weigelt, metux IT consult --- dix/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dix/main.c b/dix/main.c index c8229dd7a2..64ac612c19 100644 --- a/dix/main.c +++ b/dix/main.c @@ -323,13 +323,13 @@ dix_main(int argc, char *argv[], char *envp[]) dixFreeScreen(screenInfo.gpuscreens[i]); screenInfo.numGPUScreens = i; } - memset(&screenInfo.numGPUScreens, 0, sizeof(screenInfo.numGPUScreens)); + memset(&screenInfo.gpuscreens, 0, sizeof(screenInfo.gpuscreens)); for (int i = screenInfo.numScreens - 1; i >= 0; i--) { dixFreeScreen(screenInfo.screens[i]); screenInfo.numScreens = i; } - memset(&screenInfo.screens, 0, sizeof(screenInfo.numGPUScreens)); + memset(&screenInfo.screens, 0, sizeof(screenInfo.screens)); ReleaseClientIds(serverClient); dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT);