diff options
author | Thomas Huth <thuth@redhat.com> | 2016-04-21 12:08:58 +0200 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2016-04-23 16:52:20 +1000 |
commit | da34fed707a3a3ffa229f4e724aea06da1b53fb0 (patch) | |
tree | e9e930f53c129f93eddec95deb789b8f9b3d8e4d /linux-user/main.c | |
parent | 53343338a6e7b83777b82803398572b40afc8c0f (diff) | |
download | qemu-da34fed707a3a3ffa229f4e724aea06da1b53fb0.zip |
hw/ppc/spapr: Fix crash when specifying bad parameters to spapr-pci-host-bridge
QEMU currently crashes when using bad parameters for the
spapr-pci-host-bridge device:
$ qemu-system-ppc64 -device spapr-pci-host-bridge,buid=0x123,liobn=0x321,mem_win_addr=0x1,io_win_addr=0x10
Segmentation fault
The problem is that spapr_tce_find_by_liobn() might return NULL, but
the code in spapr_populate_pci_dt() does not check for this condition
and then tries to dereference this NULL pointer.
Apart from that, the return value of spapr_populate_pci_dt() also
has to be checked for all PCI buses, not only for the last one, to
make sure we catch all errors.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'linux-user/main.c')
0 files changed, 0 insertions, 0 deletions