xserver/hw/xwayland
Olivier Fourdan 21916ae148 xwayland: Check for outputs before lease devices
In xwl_randr_request_lease(), the code checks first for leased device,
and then checks for existing output for lease.

The former assumes there are outputs for lease whereas the latter checks
for the output, connector and lease.

So if there is any existing rrLease->outputs[]->devPrivate unset, the
code would crash on a NULL pointer dereference on the first sanity check
before having a chance to reach the second check that would have caught
the problem.

Invert the sanity checks so that we would catch this first and return a
BadValue instead of possibly segfaulting.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Xaver Hugl <xaver.hugl@kde.org>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1482>
2024-04-30 09:13:34 +02:00
..
desktop xwayland: Use "-decorate" if available 2024-03-18 23:19:59 +00:00
man xwayland: Update the global screen scale 2024-03-20 09:05:36 +01:00
.gitignore xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build xwayland: Use exec name instead of hardcoding '/Xwayland' 2024-04-17 15:20:05 +00:00
xwayland-cursor.c xwayland: Account for the scale factor 2024-03-20 09:05:36 +01:00
xwayland-cursor.h xwayland: Add xwl_cursor_clear_frame_cb() 2021-10-25 12:05:42 +00:00
xwayland-cvt.c xwayland: Keep the CVT timings for non-standard modes 2023-05-15 10:33:21 +02:00
xwayland-cvt.h xwayland: Move Xwayland CVT declaration 2019-12-20 16:19:01 +01:00
xwayland-dmabuf.c xwayland: Use drmDevicesEqual in xwl_dmabuf_feedback_tranche_done 2024-04-12 07:25:55 +00:00
xwayland-dmabuf.h xwayland: Move dmabuf code to its own source file 2024-03-14 15:00:46 +01:00
xwayland-drm-lease.c xwayland: Check for outputs before lease devices 2024-04-30 09:13:34 +02:00
xwayland-drm-lease.h Xwayland: implement drm-lease-v1 2021-12-07 10:02:29 +00:00
xwayland-glamor-gbm.c xwayland/glamor: Handle depth 15 in gbm_format_for_depth 2024-04-25 17:17:55 +02:00
xwayland-glamor-gbm.h xwayland/glamor: Make xwl_glamor_init_gbm() return its status 2024-03-18 15:41:17 +00:00
xwayland-glamor-xv.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-glamor.c Revert "xwayland/glamor: Avoid implicit redirection with depth 32 parent windows" 2024-04-11 07:33:19 +00:00
xwayland-glamor.h xwayland: Pass xwl_window to xwl_glamor_dri3_syncobj_passthrough 2024-04-10 08:55:08 +00:00
xwayland-input.c include: move private definitions out of exevents.h 2024-04-30 00:47:38 +00:00
xwayland-input.h xwayland: Use xwl_window for tracking focus/touch 2024-04-10 08:55:08 +00:00
xwayland-output.c xwayland: Check for duplicate output names 2024-04-23 11:14:31 +02:00
xwayland-output.h xwayland: Make xwl_output_set_name() public 2024-04-23 11:14:31 +02:00
xwayland-pixmap.c xwayland: Add xwl_pixmap_get_wl_buffer helper 2024-01-22 14:14:05 +00:00
xwayland-pixmap.h xwayland: Replace window pixmap as needed for drawing operation 2024-03-06 17:12:54 +01:00
xwayland-present.c xwayland/present: Check window & source pixmap depth match last 2024-04-10 08:55:08 +00:00
xwayland-present.h xwayland/present: Add xwl_present_maybe_(un)redirect_window 2024-04-10 08:55:08 +00:00
xwayland-screen.c os: unexport Os*() functions 2024-04-16 14:20:30 +02:00
xwayland-screen.h Revert "xwayland/glamor: Avoid implicit redirection with depth 32 parent windows" 2024-04-11 07:33:19 +00:00
xwayland-shm.c os: move os_move_fd() out of public API 2024-03-09 17:12:46 +00:00
xwayland-shm.h xwayland: Move SHM declarations to their own header 2019-12-20 16:19:01 +01:00
xwayland-types.h xwayland/glamor: Remove the xwl_egl_backend structure 2024-03-18 15:41:18 +00:00
xwayland-vidmode.c dix: unexport GetCurrentClient() 2024-04-15 23:47:47 +00:00
xwayland-vidmode.h xwayland: Move Xwayland vidmode declaration 2019-12-20 16:19:01 +01:00
xwayland-window-buffers.c xwayland: Add xwl_window::surface_window 2024-04-10 08:55:08 +00:00
xwayland-window-buffers.h xwayland: Drop xwl_window_buffers_get_pixmap() 2024-03-18 15:41:18 +00:00
xwayland-window.c xwayland: Walk the regions' boxes 2024-04-12 07:38:26 +00:00
xwayland-window.h xwayland/present: Add xwl_present_maybe_(un)redirect_window 2024-04-10 08:55:08 +00:00
xwayland-xtest.c dix: unexport GetCurrentClient() 2024-04-15 23:47:47 +00:00
xwayland-xtest.h xwayland: Fallback to plain XTEST if EI does not work 2023-06-26 13:19:19 +02:00
xwayland.c os: unexport Os*() functions 2024-04-16 14:20:30 +02:00