xserver/hw
Enrico Weigelt, metux IT consult 118a24dadc Xnest: fix user specified color depth and memleak
Retrieving visuals offered by upstream Xserver is broken in several ways:

a) duplicate elimination breaks out too fast: when a duplicate is found,
   it doesn't just skips that one, it completely breaks out the loop,
   so subsequent upstream visuals aren't considered anymore. that's leading
   to (unpredictable) limit on available color depths (depending on the order
   reported by upstream sever)

b) buffer overflow when user specificed different depth/class than default one:
   xnestOpenScreen() looks into the wrong table: it's local visuals[] array,
   instead of the global (non-dedup'ed) list fetched by xlib. The visuals[]
   array is *much* smaller (deduplicated) than the xnestVisuals[] array,
   and xnestDefaultVisualIndex is likely to point outside of visual[]'s bounds.

To make it actually work against an Xorg upstream server, the upstream server
needs fix for another bug in the DIX:

    https://gitlab.freedesktop.org/xorg/xserver/-/issues/1741
    https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1644

Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1742
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-15 16:07:08 +02:00
..
kdrive xv: unexport XvFreeAdaptor() 2024-07-26 23:51:13 +00:00
vfb dix: unexport fields from opaque.h not used by modules/drivers 2024-06-23 21:19:27 +00:00
xfree86 compiler.h: drop translation of Sun compiler platform defines to gcc 2024-07-28 23:26:37 +00:00
xnest Xnest: fix user specified color depth and memleak 2024-08-15 16:07:08 +02:00
xquartz fix missing includes of <X11/Xfuncproto.h> 2024-07-20 17:18:38 +00:00
xwayland xwayland: Report correct mode size when rootful 2024-08-13 10:08:19 +02:00
xwin fix missing includes of <X11/Xfuncproto.h> 2024-07-20 17:18:38 +00:00
meson.build Drop DMX DDX 2021-09-07 09:34:31 +00:00