1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-06-27 01:28:45 -05:00
Simon Tatham 26a8ef376d Fix crash in utmp-stamping on Wayland.
Thanks to Colin Watson for the report: if pterm is both
able (appropriately setgid) and willing (given the right options) to
stamp utmp, it will use $DISPLAY as the location to write into utmp,
and segfault if it's not set. But in a Wayland-only system it might
very well not be set.

To fix this I've generalised seat_get_x_display() into
seat_get_display(), so that it can also return a display id string
like "wayland-0" if that's what's appropriate. So now in that
situation pterm will stamp utmp with a Wayland display id in place of
an X11 one.

However, seat_get_x_display() was also used to retrieve an X11 display
name specifically so as to populate $DISPLAY in the terminal's shell.
So the new seat_get_display() has a parameter to constrain the
returned display to be of a particular type, or NULL if that type
isn't available.

As a final fallback, in case seat_get_display(seat, SDISP_ANY) might
_still_ manage to return NULL for any reason, we catch that and turn
it into the empty string before stamping utmp, so that we still won't
segfault.
2025-06-25 19:37:17 +01:00
..
2024-06-29 12:00:12 +01:00
2024-06-29 12:00:12 +01:00
2023-11-18 09:11:33 +00:00
2023-11-18 09:11:33 +00:00
2024-06-29 12:00:12 +01:00