qemu-cr16/ui
Thomas Huth 38dd513263 ui/vnc: Fix crash when specifying [vnc] without id in the config file
QEMU currently crashes when there is a [vnc] section in the config
file that does not have an "id = ..." line:

 $ echo "[vnc]" > /tmp/qemu.conf
 $ ./qemu-system-x86_64 -readconfig /tmp/qemu.conf
 qemu-system-x86_64: ../../devel/qemu/ui/vnc.c:4347: vnc_init_func:
  Assertion `id' failed.
 Aborted (core dumped)

The required "id" is only set up automatically while parsing the command
line, but not when reading the options from the config file.
Thus let's move code that automatically adds the id (if it does not
exist yet) to the init function that needs the id for the first time,
replacing the assert() statement there.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2836
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20250821145130.845104-1-thuth@redhat.com>
2025-09-09 09:37:49 +02:00
..
icons
shader meson: do not build shaders by default 2023-10-17 15:20:53 +02:00
clipboard.c ui/clipboard: delay clipboard update when not running 2025-05-24 16:33:18 +02:00
cocoa.m ui & main loop: Redesign of system-specific main thread event handling 2024-12-31 21:21:34 +01:00
console-gl.c ui/spice: Create a new texture with linear layout when gl=on is specified 2025-07-15 10:22:33 +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 qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
console.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
curses.c ui/curses: Fix infinite loop on windows 2025-08-07 14:08:06 +04:00
curses_keys.h For curses display, recognize a few more control keys 2023-07-25 10:56:51 +01:00
cursor.c ui/cursor: remove cursor_get_mono_image 2024-10-03 17:26:06 +03:00
cursor_hidden.xpm
cursor_left_ptr.xpm
dbus-chardev.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
dbus-clipboard.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dbus-console.c ui/dbus: on win32, allow ANONYMOUS with p2p 2025-02-03 21:15:57 +04:00
dbus-display1.xml ui/dbus: change dbus ScanoutDMABUF interface 2025-05-06 13:39:47 +04:00
dbus-error.c ui: add a D-Bus display backend 2021-12-21 10:50:22 +04:00
dbus-listener.c ui/dbus: change dbus ScanoutDMABUF interface 2025-05-06 13:39:47 +04:00
dbus-module.c ui/dbus: add p2p=on/off option 2021-12-21 10:50:22 +04:00
dbus.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
dbus.h ui/dbus: win32 support 2023-06-27 17:08:56 +02:00
dmabuf.c ui/dmabuf: extend QemuDmaBuf to support multi-plane 2025-05-06 11:57:03 +04:00
egl-context.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
egl-headless.c qapi/ui: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
egl-helpers.c ui/egl-helpers: Error check the fds in egl_dmabuf_export_texture() 2025-07-14 14:51:45 +04:00
gtk-clipboard.c ui/gtk: warn if setting the clipboard failed 2025-05-24 16:33:17 +02:00
gtk-egl.c ui/gtk-egl: Render guest content with padding in fixed-scale mode 2025-05-24 17:04:09 +02:00
gtk-gl-area.c ui/gtk-gl-area: Render guest content with padding in fixed-scale mode 2025-05-24 17:04:00 +02:00
gtk.c ui/gtk: Add scale option 2025-07-15 10:22:33 +04:00
input-barrier.c vfio scsi ui: Error-check qio_channel_socket_connect_sync() the same way 2025-09-01 13:11:13 +02:00
input-barrier.h
input-keymap.c
input-legacy.c ui/input-legacy.c: remove unused legacy qemu_add_kbd_event_handler() function 2024-11-08 11:06:42 +01:00
input-linux.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
input.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
kbd-state.c ui/vnc: Do not use console_select() 2024-03-20 10:27:54 +04:00
keymaps.c ui/keymaps: Avoid trace crash and improve error messages 2025-09-01 12:51:37 +02:00
keymaps.h ui: spelling fixes 2023-08-31 19:47:43 +02:00
meson.build meson: remove unnecessary dependencies from specific_ss 2025-05-12 16:08:24 +02:00
qemu-pixman.c ui/vnc: take account of client byte order in pixman format 2025-05-21 19:28:01 +01:00
qemu-x509.h
qemu.desktop
sdl2-2d.c ui+display: rename is_placeholder() -> surface_is_placeholder() 2024-06-19 12:42:03 +02:00
sdl2-gl.c ui/gtk-egl: Render guest content with padding in fixed-scale mode 2025-05-24 17:04:09 +02:00
sdl2-input.c ui/sdl2: release all modifiers 2024-09-13 20:12:16 +02:00
sdl2.c ui/sdl: Consider scaling in mouse event handling 2025-05-24 17:03:31 +02:00
shader.c ui/shader: free associated programs 2022-03-14 15:16:16 +04:00
spice-app.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
spice-core.c ui/spice: Add an option to submit gl_draw requests at fixed rate 2025-07-15 10:22:33 +04:00
spice-display.c ui/spice: Destroy the temporary egl fb after the blit is submitted 2025-08-12 15:00:26 -04: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
trace-events ui: add trace events for all client messages 2025-07-16 11:27:30 +01: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 qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01: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 ui/vdagent: remove migration blocker 2025-05-24 16:33:18 +02:00
vgafont.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
vnc-auth-sasl.c ui: validate NUL byte padding in SASL client data more strictly 2024-10-22 13:02:31 +01:00
vnc-auth-sasl.h
vnc-auth-vencrypt.c
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: Introduce the VncWorker type 2025-07-14 14:51:12 +04:00
vnc-enc-tight.h
vnc-enc-zlib.c ui/vnc: Introduce the VncWorker type 2025-07-14 14:51:12 +04:00
vnc-enc-zrle.c ui/vnc: Introduce the VncWorker type 2025-07-14 14:51:12 +04:00
vnc-enc-zrle.c.inc ui/vnc: Introduce the VncWorker type 2025-07-14 14:51:12 +04: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 ui/vnc: Introduce the VncWorker type 2025-07-14 14:51:12 +04: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 ui/vnc: Fix crash when specifying [vnc] without id in the config file 2025-09-09 09:37:49 +02:00
vnc.h ui/vnc: Introduce the VncWorker type 2025-07-14 14:51:12 +04:00
vnc_keysym.h ui: fix tab indentation 2022-11-08 10:23:06 +01:00
win32-kbd-hook.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
x_keymap.c
x_keymap.h