vhdr can be used when not initialised so detect this condition and exit early to prevent the problem.
This issue was found with Smatch. Fixes: 636da2039aea (android: boot: support boot image header version 3 and 4) Signed-off-by: Andrew Goodbody <andrew.goodb...@linaro.org> --- cmd/abootimg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/abootimg.c b/cmd/abootimg.c index ae7a1a7c83b..6065be9de6a 100644 --- a/cmd/abootimg.c +++ b/cmd/abootimg.c @@ -100,16 +100,16 @@ static int abootimg_get_dtb_load_addr(int argc, char *const argv[]) hdr = map_sysmem(abootimg_addr(), sizeof(*hdr)); if (get_avendor_bootimg_addr() != -1) vhdr = map_sysmem(get_avendor_bootimg_addr(), sizeof(*vhdr)); + else + return CMD_RET_FAILURE; if (!android_image_get_data(hdr, vhdr, &img_data)) { - if (get_avendor_bootimg_addr() != -1) - unmap_sysmem(vhdr); + unmap_sysmem(vhdr); unmap_sysmem(hdr); return CMD_RET_FAILURE; } - if (get_avendor_bootimg_addr() != -1) - unmap_sysmem(vhdr); + unmap_sysmem(vhdr); unmap_sysmem(hdr); if (img_data.header_version < 2) { --- base-commit: 903eb123236ccbd8ef05d43507a2a910b785bd56 change-id: 20250625-abootimg_fix-51600dc8356a Best regards, -- Andrew Goodbody <andrew.goodb...@linaro.org>