• Masahiro Yamada's avatar
    kconfig: fix segmentation fault in menuconfig search · 7a263a04
    Masahiro Yamada authored
    Since commit d05377e1 ("kconfig: Create links to main menu items
    in search"), menuconfig shows a jump key next to "Main menu" if the
    nearest visible parent is the rootmenu. If you press that jump key,
    menuconfig crashes with a segmentation fault.
    
    For example, do this:
    
      $ make ARCH=arm64 allnoconfig menuconfig
    
    Press '/' to search for the string "ACPI". Press '1' to choose
    "(1) Main menu". Then, menuconfig crashed with a segmentation fault.
    
    The following code in search_conf()
    
        conf(targets[i]->parent, targets[i]);
    
    results in NULL pointer dereference because targets[i] is the rootmenu,
    which does not have a parent.
    
    Commit d05377e1 tried to fix the issue of top-level items not having
    a jump key, but adding the "Main menu" was not the right fix.
    
    The correct fix is to show the searched item itself. This fixes another
    weird behavior described in the comment block.
    
    Fixes: d05377e1 ("kconfig: Create links to main menu items in search")
    Reported-by: default avatarJohannes Zink <j.zink@pengutronix.de>
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    Tested-by: default avatarBagas Sanjaya <bagasdotme@gmail.com>
    Tested-by: default avatarJohannes Zink <j.zink@pengutronix.de>
    7a263a04
menu.c 21.3 KB