diff options
-rw-r--r-- | hw/pci.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -193,14 +193,15 @@ int pci_bus_num(PCIBus *s) static int get_pci_config_device(QEMUFile *f, void *pv, size_t size) { PCIDevice *s = container_of(pv, PCIDevice, config); - uint8_t config[size]; + uint8_t config[PCI_CONFIG_SPACE_SIZE]; int i; - qemu_get_buffer(f, config, size); - for (i = 0; i < size; ++i) + assert(size == sizeof config); + qemu_get_buffer(f, config, sizeof config); + for (i = 0; i < sizeof config; ++i) if ((config[i] ^ s->config[i]) & s->cmask[i] & ~s->wmask[i]) return -EINVAL; - memcpy(s->config, config, size); + memcpy(s->config, config, sizeof config); pci_update_mappings(s); |