xserver-multidpi/hw
Olivier Fourdan 6711b5c6fd xwayland: Avoid a crash on pointer enter with a grab
On pointer enter notification, Xwayland checks for an existing pointer
warp with a `NULL` sprite.

In turn, `xwl_pointer_warp_emulator_maybe_lock()` checks for an existing
grab and the destination window using `XYToWindow()` which does not
check for the actual sprite not being `NULL`.

So, in some cases, when the pointer enters the surface and there is an
existing X11 grab which is not an ownerEvents grab, Xwayland would crash
trying to dereference the `NULL` sprite pointer:

  #0  __GI_raise ()
  #1  __GI_abort () at abort.c:79
  #2  OsAbort () at utils.c:1351
  #3  AbortServer () at log.c:879
  #4  FatalError () at log.c:1017
  #5  OsSigHandler () at osinit.c:156
  #6  OsSigHandler () at osinit.c:110
  #7  <signal handler called>
  #8  XYToWindow (pSprite=0x0, x=0, y=0) at events.c:2880
  #9  xwl_pointer_warp_emulator_maybe_lock () at xwayland-input.c:2673
  #10 pointer_handle_enter () at xwayland-input.c:434

Avoid the crash by simply checking for the sprite being not `NULL` in
`xwl_pointer_warp_emulator_maybe_lock()`

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Bugzilla: https://bugzilla.redhat.com/1708119
(cherry picked from commit 0a07446318)
2019-06-05 15:12:31 +02:00
..
dmx dmx: Silence a string truncation warning. 2018-04-05 14:18:44 -04:00
kdrive meson: Install man pages 2018-03-27 10:28:33 -04:00
vfb vfb: Fix man page in re depth 2018-04-24 14:44:06 -04:00
xfree86 DRI2: Add another Coffeelake PCI ID 2019-02-20 14:26:12 -05:00
xnest meson: Install man pages 2018-03-27 10:28:33 -04:00
xquartz glx,xquartz: Fix make distcheck 2019-02-25 13:06:58 -05:00
xwayland xwayland: Avoid a crash on pointer enter with a grab 2019-06-05 15:12:31 +02:00
xwin glx,xquartz: Fix make distcheck 2019-02-25 13:06:58 -05:00
Makefile.am Xwayland DDX 2014-04-03 15:19:22 -07:00
meson.build meson: Move Xvfb build under an option. 2017-09-20 13:19:21 -04:00