dix: Clear device sprite after free in AttachDevice()
The code in AttachDevice() may free the dev->spriteInfo->sprite under some circumstances and later call GetCurrentRootWindow() which uses the same dev->spriteInfo->sprite. While it seems unlikely that this is actually an issue, considering the cases where one or the other get called, it still makes the code look suspicious. Make sure to clear set dev->spriteInfo->sprite to NULL immediately after it's freed to avoid any confusion, even if only to clarify the code. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1436
This commit is contained in:
parent
2f8778ca68
commit
e196535abb
|
@ -2630,6 +2630,7 @@ AttachDevice(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr master)
|
||||||
screen = miPointerGetScreen(dev);
|
screen = miPointerGetScreen(dev);
|
||||||
screen->DeviceCursorCleanup(dev, screen);
|
screen->DeviceCursorCleanup(dev, screen);
|
||||||
free(dev->spriteInfo->sprite);
|
free(dev->spriteInfo->sprite);
|
||||||
|
dev->spriteInfo->sprite = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->master = master;
|
dev->master = master;
|
||||||
|
|
Loading…
Reference in New Issue