mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 09:53:10 +00:00
virNodeDevCapPCIDevIommuGroupParseXML: Use virXMLProp*
This strictens the parser to disallow negative values (interpreted as `UINT_MAX + value + 1`) for attribute `number`. Allowing negative numbers to be interpreted this way makes no sense for this attribute. Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Laine Stump <laine@redhat.com>
This commit is contained in:
parent
cd4c756fd5
commit
c6b0b7ad1a
@ -1557,25 +1557,14 @@ virNodeDevCapPCIDevIommuGroupParseXML(xmlXPathContextPtr ctxt,
|
||||
{
|
||||
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
||||
g_autofree xmlNodePtr *addrNodes = NULL;
|
||||
g_autofree char *numberStr = NULL;
|
||||
int nAddrNodes;
|
||||
size_t i;
|
||||
|
||||
ctxt->node = iommuGroupNode;
|
||||
|
||||
numberStr = virXMLPropString(iommuGroupNode, "number");
|
||||
if (!numberStr) {
|
||||
virReportError(VIR_ERR_XML_ERROR,
|
||||
"%s", _("missing iommuGroup number attribute"));
|
||||
if (virXMLPropUInt(iommuGroupNode, "number", 10, VIR_XML_PROP_REQUIRED,
|
||||
&pci_dev->iommuGroupNumber) < 0)
|
||||
return -1;
|
||||
}
|
||||
if (virStrToLong_ui(numberStr, NULL, 10,
|
||||
&pci_dev->iommuGroupNumber) < 0) {
|
||||
virReportError(VIR_ERR_XML_ERROR,
|
||||
_("invalid iommuGroup number attribute '%s'"),
|
||||
numberStr);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((nAddrNodes = virXPathNodeSet("./address", ctxt, &addrNodes)) < 0)
|
||||
return -1;
|
||||
|
Loading…
Reference in New Issue
Block a user