mi: Handle allocation failure in XYToWindow() spriteTrace realloc

Co-Authored-by: Claude Code <noreply@anthropic.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2184>
This commit is contained in:
Peter Hutterer 2026-04-18 09:05:11 +10:00 committed by Marge Bot
parent 01a02e7101
commit 973fb4cdd7

View file

@ -775,10 +775,16 @@ miSpriteTrace(SpritePtr pSprite, int x, int y)
*/
&& !pWin->unhittable) {
if (pSprite->spriteTraceGood >= pSprite->spriteTraceSize) {
pSprite->spriteTraceSize += 10;
pSprite->spriteTrace = reallocarray(pSprite->spriteTrace,
pSprite->spriteTraceSize,
sizeof(WindowPtr));
WindowPtr *newTrace;
int newSize = pSprite->spriteTraceSize + 10;
newTrace = reallocarray(pSprite->spriteTrace,
newSize,
sizeof(WindowPtr));
if (!newTrace)
return DeepestSpriteWin(pSprite);
pSprite->spriteTraceSize = newSize;
pSprite->spriteTrace = newTrace;
}
pSprite->spriteTrace[pSprite->spriteTraceGood++] = pWin;
pWin = pWin->firstChild;