From 69cf62adacdf463ef6b47cdc267b37d65c8670dd Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Mon, 8 Feb 2010 18:03:43 +0100 Subject: [PATCH] Escape strings serialized in XML * src/conf/node_device_conf.c: string saved into XML should be escaped with the use of virBufferEscapeString() --- src/conf/node_device_conf.c | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 3ca639c894..d04505af86 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -372,19 +372,21 @@ char *virNodeDeviceDefFormat(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/, virBufferVSprintf(&buf, " %d\n", data->usb_if.protocol); if (data->usb_if.description) - virBufferVSprintf(&buf, " %s\n", + virBufferEscapeString(&buf, + " %s\n", data->usb_if.description); break; case VIR_NODE_DEV_CAP_NET: - virBufferVSprintf(&buf, " %s\n", + virBufferEscapeString(&buf, " %s\n", data->net.ifname); if (data->net.address) - virBufferVSprintf(&buf, "
%s
\n", + virBufferEscapeString(&buf, "
%s
\n", data->net.address); if (data->net.subtype != VIR_NODE_DEV_CAP_NET_LAST) { const char *subtyp = virNodeDevNetCapTypeToString(data->net.subtype); - virBufferVSprintf(&buf, " \n", subtyp); + virBufferEscapeString(&buf, " \n", + subtyp); } break; case VIR_NODE_DEV_CAP_SCSI_HOST: @@ -392,10 +394,10 @@ char *virNodeDeviceDefFormat(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/, data->scsi_host.host); if (data->scsi_host.flags & VIR_NODE_DEV_CAP_FLAG_HBA_FC_HOST) { virBufferAddLit(&buf, " \n"); - virBufferVSprintf(&buf, - " %s\n", data->scsi_host.wwnn); - virBufferVSprintf(&buf, - " %s\n", data->scsi_host.wwpn); + virBufferEscapeString(&buf, " %s\n", + data->scsi_host.wwnn); + virBufferEscapeString(&buf, " %s\n", + data->scsi_host.wwpn); virBufferAddLit(&buf, " \n"); } if (data->scsi_host.flags & VIR_NODE_DEV_CAP_FLAG_HBA_VPORT_OPS) { @@ -405,8 +407,8 @@ char *virNodeDeviceDefFormat(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/, break; case VIR_NODE_DEV_CAP_SCSI_TARGET: - virBufferVSprintf(&buf, " %s\n", - data->scsi_target.name); + virBufferEscapeString(&buf, " %s\n", + data->scsi_target.name); break; case VIR_NODE_DEV_CAP_SCSI: @@ -416,23 +418,23 @@ char *virNodeDeviceDefFormat(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/, data->scsi.target); virBufferVSprintf(&buf, " %d\n", data->scsi.lun); if (data->scsi.type) - virBufferVSprintf(&buf, " %s\n", - data->scsi.type); + virBufferEscapeString(&buf, " %s\n", + data->scsi.type); break; case VIR_NODE_DEV_CAP_STORAGE: - virBufferVSprintf(&buf, " %s\n", + virBufferEscapeString(&buf, " %s\n", data->storage.block); if (data->storage.bus) - virBufferVSprintf(&buf, " %s\n", + virBufferEscapeString(&buf, " %s\n", data->storage.bus); if (data->storage.drive_type) - virBufferVSprintf(&buf, " %s\n", + virBufferEscapeString(&buf, " %s\n", data->storage.drive_type); if (data->storage.model) - virBufferVSprintf(&buf, " %s\n", + virBufferEscapeString(&buf, " %s\n", data->storage.model); if (data->storage.vendor) - virBufferVSprintf(&buf, " %s\n", + virBufferEscapeString(&buf, " %s\n", data->storage.vendor); if (data->storage.serial) virBufferVSprintf(&buf, " %s\n",