qemu/ui
Marc-André Lureau 1836c60af2 vnc: fix crash when no console attached
Since commit e99441a379 ("ui/curses: Do not use console_select()")
qemu_text_console_put_keysym() no longer checks for NULL console
argument, which leads to a later crash:

Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
0x00005555559ee186 in qemu_text_console_handle_keysym (s=0x0, keysym=31) at ../ui/console-vc.c:332
332	        } else if (s->echo && (keysym == '\r' || keysym == '\n')) {
(gdb) bt
 #0  0x00005555559ee186 in qemu_text_console_handle_keysym (s=0x0, keysym=31) at ../ui/console-vc.c:332
 #1  0x00005555559e18e5 in qemu_text_console_put_keysym (s=<optimized out>, keysym=<optimized out>) at ../ui/console.c:303
 #2  0x00005555559f2e88 in do_key_event (vs=vs@entry=0x5555579045c0, down=down@entry=1, keycode=keycode@entry=60, sym=sym@entry=65471) at ../ui/vnc.c:2034
 #3  0x00005555559f845c in ext_key_event (vs=0x5555579045c0, down=1, sym=65471, keycode=<optimized out>) at ../ui/vnc.c:2070
 #4  protocol_client_msg (vs=0x5555579045c0, data=<optimized out>, len=<optimized out>) at ../ui/vnc.c:2514
 #5  0x00005555559f515c in vnc_client_read (vs=0x5555579045c0) at ../ui/vnc.c:1607

Fixes: e99441a379 ("ui/curses: Do not use console_select()")
Fixes: https://issues.redhat.com/browse/RHEL-50529
Cc: qemu-stable@nongnu.org
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(cherry picked from commit 0e60fc8093)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-10-04 22:17:24 +03:00
..
icons configure: move directory options from config-host.mak to meson 2020-10-26 07:08:38 -04:00
shader meson: do not build shaders by default 2023-10-17 15:20:53 +02:00
clipboard.c ui/clipboard: add asserts for update and request 2024-02-16 17:27:22 +04:00
cocoa.m ui/cocoa: Use NSTrackingInVisibleRect 2024-03-26 14:32:54 +01:00
console-gl.c ui/console: remove redundant format field 2023-09-12 10:37:02 +04:00
console-priv.h ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
console-vc-stubs.c ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
console-vc.c ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
console.c ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
curses_keys.h For curses display, recognize a few more control keys 2023-07-25 10:56:51 +01:00
curses.c ui/curses: Do not use console_select() 2024-03-20 10:27:58 +04:00
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c ui/cursor: make width/height unsigned 16-bit integer 2023-05-28 13:08:25 +04:00
dbus-chardev.c ui/dbus: win32 support 2023-06-27 17:08:56 +02:00
dbus-clipboard.c ui/dbus: unregister clipboard on connection close 2023-03-13 22:57:39 +04:00
dbus-console.c input: Allow to choose console with qemu_input_is_absolute 2023-10-03 15:04:56 +04:00
dbus-display1.xml configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
dbus-error.c ui: add a D-Bus display backend 2021-12-21 10:50:22 +04:00
dbus-listener.c ui/dbus: filter out pending messages when scanout 2024-03-12 17:57:58 +04:00
dbus-module.c ui/dbus: add p2p=on/off option 2021-12-21 10:50:22 +04:00
dbus.c ui: use "vc" chardev for dbus, gtk & spice-app 2023-11-21 14:38:14 +04:00
dbus.h ui/dbus: win32 support 2023-06-27 17:08:56 +02:00
egl-context.c ui/egl: fix make_context_current() callback return value 2023-06-27 17:08:56 +02:00
egl-headless.c ui: add optional d3d texture pointer to scanout texture 2023-06-27 17:08:56 +02:00
egl-helpers.c virtio-gpu-udmabuf: correct naming of QemuDmaBuf size properties 2023-07-17 15:22:28 +04:00
gtk-clipboard.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
gtk-egl.c ui/gtk: Draw guest frame at refresh cycle 2024-06-11 10:12:44 +03:00
gtk-gl-area.c ui/gtk: Draw guest frame at refresh cycle 2024-06-11 10:12:44 +03:00
gtk.c ui/gtk: Check if fence_fd is equal to or greater than 0 2024-05-27 07:37:34 +03:00
input-barrier.c ui/input-barrier: Move TODOs from barrier.txt to a comment 2021-08-02 12:55:51 +01:00
input-barrier.h
input-keymap.c
input-legacy.c ui/input: Constify QemuInputHandler structure 2023-10-19 23:13:28 +02:00
input-linux.c ui: replace qemu_set_nonblock() 2022-05-03 15:52:37 +04:00
input.c ui/input: Constify QemuInputHandler structure 2023-10-19 23:13:28 +02:00
kbd-state.c ui/vnc: Do not use console_select() 2024-03-20 10:27:54 +04:00
keymaps.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
keymaps.h ui: spelling fixes 2023-08-31 19:47:43 +02:00
meson.build ui: compile dbus-display1.c with -fPIC as necessary 2024-03-20 10:28:00 +04:00
qemu-pixman.c ui: compile out some qemu-pixman functions when !PIXMAN 2023-11-07 14:04:24 +04:00
qemu-x509.h
qemu.desktop
sdl2-2d.c ui: spelling fixes 2023-08-31 19:47:43 +02:00
sdl2-gl.c ui: add optional d3d texture pointer to scanout texture 2023-06-27 17:08:56 +02:00
sdl2-input.c ui/vc: rename kbd_put to qemu_text_console functions 2023-09-12 10:37:02 +04:00
sdl2.c ui/sdl2: set swap interval explicitly when OpenGL is enabled 2024-09-16 17:47:17 +03:00
shader.c ui/shader: free associated programs 2022-03-14 15:16:16 +04:00
spice-app.c ui: use "vc" chardev for dbus, gtk & spice-app 2023-11-21 14:38:14 +04:00
spice-core.c migration: MigrationNotifyFunc 2024-02-28 11:31:28 +08:00
spice-display.c ui: Clean up local variable shadowing 2023-09-29 08:13:57 +02:00
spice-input.c input: Allow to choose console with qemu_input_is_absolute 2023-10-03 15:04:56 +04:00
spice-module.c spice: wire up monitor in QemuSpiceOps. 2020-10-21 15:46:14 +02:00
trace-events ui/dbus: filter out pending messages when scanout 2024-03-12 17:57:58 +04:00
trace.h
udmabuf.c Do not include "qemu/error-report.h" in headers that do not need it 2023-02-14 09:11:27 +01:00
ui-hmp-cmds.c qmp/hmp: disable screendump if PIXMAN is missing 2023-11-07 14:04:25 +04:00
ui-qmp-cmds.c ui/qmp-cmds: Improve two error messages 2023-11-17 10:07:52 +01:00
util.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
vdagent.c Migration Pull request (20231020) 2023-10-20 06:46:53 -07:00
vgafont.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc_keysym.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc-auth-sasl.c vnc: avoid deprecation warnings for SASL on OS X 2021-06-15 17:17:09 +02:00
vnc-auth-sasl.h vnc: avoid deprecation warnings for SASL on OS X 2021-06-15 17:17:09 +02:00
vnc-auth-vencrypt.c vnc: fix resource leak when websocket channel error 2020-11-04 08:25:17 +01:00
vnc-auth-vencrypt.h
vnc-clipboard.c ui/vnc-clipboard: fix inflate_buffer 2023-12-04 11:28:26 +04:00
vnc-enc-hextile-template.h ui/vnc-enc-hextile: Use static rather than dynamic length stack array 2023-09-04 14:57:44 +04:00
vnc-enc-hextile.c Drop useless casts from g_malloc() & friends to pointer 2022-10-22 23:15:40 +02:00
vnc-enc-tight.c ui/vnc-enc-tight: Avoid dynamic stack allocation 2023-09-04 14:57:44 +04:00
vnc-enc-tight.h
vnc-enc-zlib.c
vnc-enc-zrle.c
vnc-enc-zrle.c.inc ui: Clean up local variable shadowing 2023-09-29 08:13:57 +02:00
vnc-enc-zrle.h
vnc-enc-zywrle-template.c ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc-enc-zywrle.h ui: spelling fixes 2023-08-31 19:47:43 +02:00
vnc-jobs.c vnc: move assert in vnc_worker_thread_loop 2023-06-10 00:00:24 +03:00
vnc-jobs.h
vnc-palette.c ui: Clean up local variable shadowing 2023-09-29 08:13:57 +02:00
vnc-palette.h
vnc-stubs.c qemu-options: define -vnc only #ifdef CONFIG_VNC 2023-11-07 14:04:25 +04:00
vnc-ws.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
vnc-ws.h
vnc.c vnc: fix crash when no console attached 2024-10-04 22:17:24 +03:00
vnc.h ui: drop VNC feature _MASK constants 2024-02-09 12:48:02 +00:00
win32-kbd-hook.c
x_keymap.c ui: Fix memory leak in qemu_xkeymap_mapping_table() 2021-05-02 17:24:50 +02:00
x_keymap.h