mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 08:04:30 +00:00
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 <info@metux.net>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user