]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
boot: menu: Do not dereference pointer if pointer is NULL
authorAndrew Goodbody <andrew.goodbody@linaro.org>
Wed, 2 Jul 2025 09:24:16 +0000 (10:24 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 9 Jul 2025 00:15:20 +0000 (18:15 -0600)
scene_obj_find can return NULL but this is not checked for before
the return is dereferenced. Add a NULL check.

This issue was found by Smatch.

Also add a NULL check for str.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
boot/scene_menu.c

index 8db6a2b2f4d0a95d90d5110a4d1a4d34da009a81..234041720932774298e3854bbb1a072ea263e5d7 100644 (file)
@@ -571,14 +571,15 @@ int scene_menu_display(struct scene_obj_menu *menu)
                        return log_msg_ret("txt", -EINVAL);
 
                str = expo_get_str(exp, txt->gen.str_id);
-               printf("%s\n\n", str);
+               printf("%s\n\n", str ? str : "");
        }
 
        if (list_empty(&menu->item_head))
                return 0;
 
        pointer = scene_obj_find(scn, menu->pointer_id, SCENEOBJT_TEXT);
-       pstr = expo_get_str(scn->expo, pointer->gen.str_id);
+       if (pointer)
+               pstr = expo_get_str(scn->expo, pointer->gen.str_id);
 
        list_for_each_entry(item, &menu->item_head, sibling) {
                struct scene_obj_txt *key = NULL, *label = NULL;