PCI: Avoid overflows in ReadResourceInfo.

The operation should be promoted to at least 32-bits anyway,
but it's better to be safe here.
This commit is contained in:
Augustin Cavalier
2024-07-09 11:40:57 -04:00
parent 599a303e23
commit 1342073197
@@ -63,7 +63,7 @@ ECAMPCIControllerACPI::ReadResourceInfo(device_node* parent)
fStartBusNumber = alloc->start_bus_number;
fEndBusNumber = alloc->end_bus_number;
fRegsLen = (fEndBusNumber - fStartBusNumber + 1) << 20;
fRegsLen = (uint64(fEndBusNumber) - fStartBusNumber + 1) << 20;
fRegsArea.SetTo(map_physical_memory("PCI Config MMIO",
alloc->address, fRegsLen, B_ANY_KERNEL_ADDRESS,
B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA, (void **)&fRegs));