diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 751690e285..dfe773896e 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7425,7 +7425,8 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, graphics->data.vnc.socketAutogenerated = true; } - virBufferAsprintf(&opt, "unix:%s", graphics->data.vnc.socket); + virBufferAddLit(&opt, "unix:"); + qemuBufferEscapeComma(&opt, graphics->data.vnc.socket); } else { if (!graphics->data.vnc.autoport && diff --git a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args index a5e35b877c..ffec3f4d12 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args @@ -13,7 +13,6 @@ bar/master-key.aes \ -m 214 \ -smp 1 \ -uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ --nographic \ -nodefaults \ -chardev socket,id=charmonitor,path=/tmp/lib/domain--1-foo,bar/monitor.sock,\ server,nowait \ @@ -21,4 +20,6 @@ server,nowait \ -no-acpi \ -boot c \ -usb \ +-vnc unix:/tmp/bar,,foo.sock \ +-vga cirrus \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml index 3a8c3cd56d..e263553e07 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml +++ b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml @@ -14,5 +14,6 @@ destroy /usr/bin/qemu + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index bed6a71b96..99f2b335c0 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1903,7 +1903,7 @@ mymain(void) NONE); DO_TEST("name-escape", QEMU_CAPS_NAME_DEBUG_THREADS, - QEMU_CAPS_OBJECT_SECRET, QEMU_CAPS_CHARDEV); + QEMU_CAPS_OBJECT_SECRET, QEMU_CAPS_CHARDEV, QEMU_CAPS_VNC); DO_TEST("debug-threads", QEMU_CAPS_NAME_DEBUG_THREADS); DO_TEST("master-key", QEMU_CAPS_OBJECT_SECRET);