mirror of
https://github.com/labwc/labwc.git
synced 2026-02-05 04:06:33 -05:00
xsurface->data is presumed to be a (struct view *) if set, so it must be
left NULL for an unmanaged surface. Otherwise view_from_wlr_surface()
may return a (struct xwayland_unmanaged *) where a (struct view *) was
expected, leading to a crash.
valgrind backtrace:
Invalid read of size 1
at 0x48F8FFC: wlr_scene_node_set_enabled (wlr_scene.c:903)
by 0x124C9F: ssd_set_active (ssd.c:323)
by 0x124C9F: ssd_set_active (ssd.c:318)
by 0x124C9F: view_set_activated (view.c:215)
by 0x118851: focus_change_notify (seat.c:353)
by 0x487E01D: wl_signal_emit_mutable (wayland-server.c:2241)
by 0x48FC8F2: wlr_seat_keyboard_enter (wlr_seat_keyboard.c:298)
by 0x119E60: seat_focus.lto_priv.0 (seat.c:473)
by 0x1248FD: seat_focus_surface (seat.c:491)
by 0x1248FD: unmanaged_handle_map (xwayland-unmanaged.c:51)
by 0x487E01D: wl_signal_emit_mutable (wayland-server.c:2241)
by 0x487E01D: wl_signal_emit_mutable (wayland-server.c:2241)
by 0x490FC91: surface_commit_state (wlr_compositor.c:499)
by 0x56A24F5: ffi_call_unix64 (unix64.S:104)
by 0x569EF5D: ffi_call_int.lto_priv.0 (ffi64.c:673)
Address 0xa0e15ff30788b68 is not stack'd, malloc'd or (recently) free'd
Fixes:
|
||
|---|---|---|
| .. | ||
| button | ||
| common | ||
| config | ||
| decorations | ||
| menu | ||
| ssd | ||
| action.c | ||
| buffer.c | ||
| cursor.c | ||
| debug.c | ||
| desktop.c | ||
| dnd.c | ||
| foreign.c | ||
| idle.c | ||
| interactive.c | ||
| key-state.c | ||
| keyboard.c | ||
| layers.c | ||
| main.c | ||
| meson.build | ||
| node.c | ||
| osd.c | ||
| output.c | ||
| regions.c | ||
| resistance.c | ||
| seat.c | ||
| server.c | ||
| session-lock.c | ||
| theme.c | ||
| touch.c | ||
| view-impl-common.c | ||
| view.c | ||
| window-rules.c | ||
| workspaces.c | ||
| xdg-popup.c | ||
| xdg.c | ||
| xwayland-unmanaged.c | ||
| xwayland.c | ||