From 8f827f2ace4ab4a79d3c36f7d98fa20c5dead3e1 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Sat, 10 Jun 2017 11:38:57 +0200 Subject: [PATCH] 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 --- src/qemu/qemu_command.c | 4 ++-- tests/qemuxml2argvdata/qemuxml2argv-name-escape.args | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 -- GitLab