From: Pavel Hrdina Date: Sat, 10 Jun 2017 09:38:57 +0000 (+0200) Subject: qemu: skip only ',' for VNC and Spice unix socket X-Git-Tag: v3.5.0-rc1~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f827f2ace4ab4a79d3c36f7d98fa20c5dead3e1;p=thirdparty%2Flibvirt.git qemu: skip only ',' for VNC and Spice unix socket Commit 824272cb28d attempted to fix escaping of characters in unix socket path but it was wrong. We need to escape only ',', there is no escape character for '='. Signed-off-by: Pavel Hrdina Reviewed-by: Andrea Bolognani --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 0f87809177..df85798ac3 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7927,7 +7927,7 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, switch (glisten->type) { case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCKET: virBufferAddLit(&opt, "unix:"); - virQEMUBuildBufferEscape(&opt, glisten->socket); + virQEMUBuildBufferEscapeComma(&opt, glisten->socket); break; case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS: @@ -8060,7 +8060,7 @@ qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfigPtr cfg, } virBufferAddLit(&opt, "unix,addr="); - virQEMUBuildBufferEscape(&opt, glisten->socket); + virQEMUBuildBufferEscapeComma(&opt, glisten->socket); virBufferAddLit(&opt, ","); hasInsecure = true; break; diff --git a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args index ea13654bf1..d94ab76312 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-name-escape.args @@ -20,7 +20,7 @@ bar=2/monitor.sock,server,nowait \ -no-acpi \ -boot c \ -usb \ --vnc 'unix:/tmp/lib/domain--1-foo\=1,,bar\=2/vnc.sock' \ --spice 'unix,addr=/tmp/lib/domain--1-foo\=1,,bar\=2/spice.sock' \ +-vnc unix:/tmp/lib/domain--1-foo=1,,bar=2/vnc.sock \ +-spice unix,addr=/tmp/lib/domain--1-foo=1,,bar=2/spice.sock \ -vga cirrus \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3