kconfig: fix bug in search results string: use strlen(gstr->s), not gstr->len
authorMartin Walch <walch.martin@web.de>
Wed, 15 Apr 2015 10:24:38 +0000 (11:24 +0100)
committerAlex Shi <alex.shi@linaro.org>
Wed, 15 Apr 2015 12:03:08 +0000 (20:03 +0800)
The struct gstr has a capacity that may differ from the actual string length.

However, a string manipulation in the function search_conf made the assumption
that it is the same, which led to messing up some search results, especially
when the content of the gstr in use had not yet reached at least 63 chars.

Signed-off-by: Martin Walch <walch.martin@web.de>
Acked-by: Wang YanQing <udknight@gmail.com>
Acked-by: Benjamin Poirier <bpoirier@suse.de>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
(cherry picked from commit 503c823048e81cc85c0e9d8c297cc70203e335e5)
Signed-off-by: Jon Medhurst <tixy@linaro.org>
scripts/kconfig/menu.c

index fd3f0180e08fbafb537e128c9e46641288c68774..24ad40942586c096f4bf75989220ae12d3a2541c 100644 (file)
@@ -564,7 +564,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop,
                for (j = 4; --i >= 0; j += 2) {
                        menu = submenu[i];
                        if (head && location && menu == location)
-                               jump->offset = r->len - 1;
+                               jump->offset = strlen(r->s);
                        str_printf(r, "%*c-> %s", j, ' ',
                                   _(menu_get_prompt(menu)));
                        if (menu->sym) {