mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 22:55:23 +00:00
domain: Fix PCI address decimal parsing regression
<hostdev> address parsing previously attempted to detect the number base: currently it is hardcoded to base 16, which can break PCI assignment via virt-manager. Revert to the previous behavior. * src/conf/domain_conf.c: virDomainDevicePCIAddressParseXML, switch to virStrToLong_ui(bus, NULL, 0, ...) to autodetect base
This commit is contained in:
parent
34dcbbb470
commit
e984019688
@ -1079,28 +1079,28 @@ virDomainDevicePCIAddressParseXML(xmlNodePtr node,
|
||||
function = virXMLPropString(node, "function");
|
||||
|
||||
if (domain &&
|
||||
virStrToLong_ui(domain, NULL, 16, &addr->domain) < 0) {
|
||||
virStrToLong_ui(domain, NULL, 0, &addr->domain) < 0) {
|
||||
virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Cannot parse <address> 'domain' attribute"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (bus &&
|
||||
virStrToLong_ui(bus, NULL, 16, &addr->bus) < 0) {
|
||||
virStrToLong_ui(bus, NULL, 0, &addr->bus) < 0) {
|
||||
virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Cannot parse <address> 'bus' attribute"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (slot &&
|
||||
virStrToLong_ui(slot, NULL, 16, &addr->slot) < 0) {
|
||||
virStrToLong_ui(slot, NULL, 0, &addr->slot) < 0) {
|
||||
virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Cannot parse <address> 'slot' attribute"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (function &&
|
||||
virStrToLong_ui(function, NULL, 16, &addr->function) < 0) {
|
||||
virStrToLong_ui(function, NULL, 0, &addr->function) < 0) {
|
||||
virDomainReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Cannot parse <address> 'function' attribute"));
|
||||
goto cleanup;
|
||||
|
Loading…
Reference in New Issue
Block a user