}
x_vfb->vnc.display = l_vfb->data.vnc.port - LIBXL_VNC_PORT_MIN;
- if ((glisten = virDomainGraphicsGetListen(l_vfb, 0)) &&
- glisten->address) {
- /* libxl_device_vfb_init() does VIR_STRDUP("127.0.0.1") */
- VIR_FREE(x_vfb->vnc.listen);
- if (VIR_STRDUP(x_vfb->vnc.listen, glisten->address) < 0)
- return -1;
+ if ((glisten = virDomainGraphicsGetListen(l_vfb, 0))) {
+ if (glisten->address) {
+ /* libxl_device_vfb_init() does VIR_STRDUP("127.0.0.1") */
+ VIR_FREE(x_vfb->vnc.listen);
+ if (VIR_STRDUP(x_vfb->vnc.listen, glisten->address) < 0)
+ return -1;
+ } else {
+ if (VIR_STRDUP(glisten->address, VIR_LOOPBACK_IPV4_ADDR) < 0)
+ return -1;
+ }
}
+
if (VIR_STRDUP(x_vfb->vnc.passwd, l_vfb->data.vnc.auth.passwd) < 0)
return -1;
if (VIR_STRDUP(x_vfb->keymap, l_vfb->data.vnc.keymap) < 0)
}
b_info->u.hvm.spice.port = l_vfb->data.spice.port;
- if ((glisten = virDomainGraphicsGetListen(l_vfb, 0)) &&
- glisten->address &&
- VIR_STRDUP(b_info->u.hvm.spice.host, glisten->address) < 0)
- return -1;
+ if ((glisten = virDomainGraphicsGetListen(l_vfb, 0))) {
+ if (glisten->address) {
+ if (VIR_STRDUP(b_info->u.hvm.spice.host, glisten->address) < 0)
+ return -1;
+ } else {
+ if (VIR_STRDUP(b_info->u.hvm.spice.host, VIR_LOOPBACK_IPV4_ADDR) < 0 ||
+ VIR_STRDUP(glisten->address, VIR_LOOPBACK_IPV4_ADDR) < 0)
+ return -1;
+ }
+ }
if (VIR_STRDUP(b_info->u.hvm.keymap, l_vfb->data.spice.keymap) < 0)
return -1;