1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-04-01 20:05:19 +00:00

Strip control characters from sysfs attributes

Including them in the XML makes them unparsable.

https://bugzilla.redhat.com/show_bug.cgi?id=1184131
(cherry picked from commit 557107500b22d4a5ba7d1b09f5f516512dfca67b)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Ján Tomko 2015-04-14 12:30:34 +02:00
parent 0af5db8e6f
commit 5102d2c289

View File

@ -198,7 +198,9 @@ static int udevGetUintProperty(struct udev_device *udev_device,
/* This function allocates memory from the heap for the property
* value. That memory must be later freed by some other code. */
* value. That memory must be later freed by some other code.
* Any control characters that cannot be printed in the XML are stripped
* from the string */
static int udevGetDeviceSysfsAttr(struct udev_device *udev_device,
const char *attr_name,
char **attr_value)
@ -243,6 +245,8 @@ static int udevGetStringSysfsAttr(struct udev_device *udev_device,
ret = udevGetDeviceSysfsAttr(udev_device, attr_name, &tmp);
virStringStripControlChars(tmp);
if (tmp != NULL && (STREQ(tmp, ""))) {
VIR_FREE(tmp);
tmp = NULL;