diff options
author | Stefan Weil <sw@weilnetz.de> | 2015-03-14 16:29:09 +0100 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2015-03-25 22:49:46 +0100 |
commit | 4c56440d6754b45c2d82969e029a3c2a72864b30 (patch) | |
tree | 22e7e5b3894236eb6f0fd9e70cfd00348351fdaa /hw/ppc/spapr.c | |
parent | 0d2f830255c758240dccbeb732a2c21f4eea995c (diff) |
spapr: Add missing checks for NULL pointers and report failures
This fixes potential runtime crashes and two warnings from Coverity.
The new error message does not add a prefix "qemu:" because that is
already done in function hw_error. It also starts with an uppercase
letter because that seems to be the mostly used form.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
[agraf: fix typo]
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/ppc/spapr.c')
-rw-r--r-- | hw/ppc/spapr.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 0487f52819..7febff7ed2 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1506,6 +1506,10 @@ static void ppc_spapr_init(MachineState *machine) } filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, "spapr-rtas.bin"); + if (!filename) { + hw_error("Could not find LPAR rtas '%s'\n", "spapr-rtas.bin"); + exit(1); + } spapr->rtas_size = get_image_size(filename); spapr->rtas_blob = g_malloc(spapr->rtas_size); if (load_image_size(filename, spapr->rtas_blob, spapr->rtas_size) < 0) { @@ -1623,6 +1627,10 @@ static void ppc_spapr_init(MachineState *machine) bios_name = FW_FILE_NAME; } filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); + if (!filename) { + hw_error("Could not find LPAR rtas '%s'\n", bios_name); + exit(1); + } fw_size = load_image_targphys(filename, 0, FW_MAX_SIZE); if (fw_size < 0) { hw_error("qemu: could not load LPAR rtas '%s'\n", filename); |