This path can be dependent on the VM libdir, which contains its name
---
src/qemu/qemu_command.c | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-name-escape.args | 3 ++-
tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml | 1 +
tests/qemuxml2argvtest.c | 2 +-
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 067a8c3..22fb51c 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7427,7 +7427,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 a5e35b8..ffec3f4 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 3a8c3cd..e263553 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.xml
@@ -14,5 +14,6 @@
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu</emulator>
+ <graphics type='vnc' socket='/tmp/bar,foo.sock'/>
</devices>
</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index d8834cb..5d15dfd 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1894,7 +1894,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);
--
2.7.4