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
This commit is contained in:
Peter Maydell 2025-02-06 15:12:11 +00:00
parent 3c25f487bc
commit dfd0de7186

View file

@ -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);