In boot_from_devices the variable loader is not NULL checked after assignment and before first use but later code does check it for NULL. Add a NULL check before first use.
This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodb...@linaro.org> --- common/spl/spl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/spl/spl.c b/common/spl/spl.c index d8e26605d20..ed443c645a7 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -634,7 +634,7 @@ static int boot_from_devices(struct spl_image_info *spl_image, if (CONFIG_IS_ENABLED(SHOW_ERRORS)) ret = -ENXIO; for (loader = drv; loader != drv + n_ents; loader++) { - if (bootdev != loader->boot_device) + if (loader && bootdev != loader->boot_device) continue; if (!CONFIG_IS_ENABLED(SILENT_CONSOLE)) { if (loader) --- base-commit: 0f83825802d8938fb584c12f115bde900efe71c1 change-id: 20250718-spl_loader-e93a2d246b8e Best regards, -- Andrew Goodbody <andrew.goodb...@linaro.org>