[PATCH 3.12 057/122] kconfig: fix bug in search results string: use strlen(gstr->s), not gstr->len

From: Jiri Slaby
Date: Tue Feb 17 2015 - 07:01:57 EST


From: Martin Walch <walch.martin@xxxxxx>

3.12-stable review patch. If anyone has any objections, please let me know.

===============

commit 503c823048e81cc85c0e9d8c297cc70203e335e5 upstream.

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@xxxxxx>
Acked-by: Wang YanQing <udknight@xxxxxxxxx>
Acked-by: Benjamin Poirier <bpoirier@xxxxxxx>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@xxxxxxx>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@xxxxxxx>
Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
---
scripts/kconfig/menu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index c1d53200c306..2b3317010ba4 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -583,7 +583,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) {
--
2.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/