mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-16 04:58:07 +02:00
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:
parent
01a02e7101
commit
973fb4cdd7
1 changed files with 10 additions and 4 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue