This strictens the parser to disallow negative values (interpreted as
`UINT_MAX + value + 1`) for attribute `startport`. Allowing negative
numbers to be interpreted this way makes no sense for this attribute.
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/conf/domain_conf.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 661fa53206..86680e0cdb 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -6439,18 +6439,11 @@ static int
virDomainDeviceUSBMasterParseXML(xmlNodePtr node,
virDomainDeviceUSBMaster *master)
{
- g_autofree char *startport = NULL;
-
memset(master, 0, sizeof(*master));
- startport = virXMLPropString(node, "startport");
-
- if (startport &&
- virStrToLong_ui(startport, NULL, 10, &master->startport) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Cannot parse <master> 'startport'
attribute"));
+ if (virXMLPropUInt(node, "startport", 10, VIR_XML_PROP_NONE,
+ &master->startport) < 0)
return -1;
- }
return 0;
}
--
2.26.3