36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
|
From 3c48bd50ad33f2a533ac76afa38d6e3906ebc28a Mon Sep 17 00:00:00 2001
|
||
|
From: Arthur Williams <taaparthur@gmail.com>
|
||
|
Date: Sun, 6 Oct 2019 18:55:35 +0000
|
||
|
Subject: [PATCH xserver 21/22] dix: Check for NULL spriteInfo in
|
||
|
GetPairedDevice
|
||
|
|
||
|
There is a race when reseting the XServer that causes spriteInfo to be
|
||
|
NULL in GetPairedDevice resulting a segfault and subsequent crash. The
|
||
|
problem was noticed when opening a connection, creating master devices,
|
||
|
destroying master devices and closing the connection during testing.
|
||
|
|
||
|
Signed-off-by: Arthur Williams <taaparthur@gmail.com>
|
||
|
|
||
|
|
||
|
(cherry picked from commit e693c9657f98c334e9921ca2f8ebf710497c0c6a)
|
||
|
---
|
||
|
dix/devices.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/dix/devices.c b/dix/devices.c
|
||
|
index 1b18b168e..00c453980 100644
|
||
|
--- a/dix/devices.c
|
||
|
+++ b/dix/devices.c
|
||
|
@@ -2656,7 +2656,7 @@ GetPairedDevice(DeviceIntPtr dev)
|
||
|
if (!IsMaster(dev) && !IsFloating(dev))
|
||
|
dev = GetMaster(dev, MASTER_ATTACHED);
|
||
|
|
||
|
- return dev->spriteInfo->paired;
|
||
|
+ return dev->spriteInfo? dev->spriteInfo->paired: NULL;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
--
|
||
|
2.24.1
|
||
|
|