diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2025-02-06 15:12:11 +0000 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2025-02-24 15:03:42 +0000 |
| commit | dfd0de718662a58ef2f2ef051939ed4b1a4d5ea7 (patch) | |
| tree | 9a4c84515af6edeafa7bd1c7b57ef97a63004976 /hw/mips/boston.c | |
| parent | 3c25f487bc0672bf13473f4a7235c3ef592c954c (diff) | |
| download | focaccia-qemu-dfd0de718662a58ef2f2ef051939ed4b1a4d5ea7.tar.gz focaccia-qemu-dfd0de718662a58ef2f2ef051939ed4b1a4d5ea7.zip | |
hw/mips/boston: Check for error return from boston_fdt_filter()
The function boston_fdt_filter() can return NULL on errors (in which case it will print an error message). When we call this from the non-FIT-image codepath, we aren't checking the return value, so we will plough on with a NULL pointer, and segfault in fdt_totalsize(). Check for errors here. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20250206151214.2947842-4-peter.maydell@linaro.org
Diffstat (limited to 'hw/mips/boston.c')
| -rw-r--r-- | hw/mips/boston.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/mips/boston.c b/hw/mips/boston.c index 4690b254dd..de6ce1f163 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -810,6 +810,10 @@ static void boston_mach_init(MachineState *machine) dtb_load_data = boston_fdt_filter(s, dtb_file_data, NULL, &dtb_vaddr); + if (!dtb_load_data) { + /* boston_fdt_filter() already printed the error for us */ + exit(1); + } /* Calculate real fdt size after filter */ dt_size = fdt_totalsize(dtb_load_data); |