diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-20 12:55:50 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-20 12:55:50 -0500 |
commit | af75d517a8b83cea88d8039beca1213813eb35f0 (patch) | |
tree | f20daad175652e1224db3ddd83dd6f3717991bd7 /scripts | |
parent | d9569f003cfc0228e132749ae6fd81cb29dc6c70 (diff) | |
parent | 5b61c7bd25f13daa58f2507991e87e990d7c6010 (diff) |
Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kconfig updates from Michal Marek:
- Fix for make xconfig segfault
- Handle long strings in config symbol values
- Fix for mixing boolean and kconfig ternary type
* 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
kconfig: fix qconf segfault by deleting heap objects
kconfig: return 'false' instead of 'no' in bool function
kconfig: allow kconfig to handle longer path names
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/kconfig/conf.c | 7 | ||||
-rw-r--r-- | scripts/kconfig/menu.c | 2 | ||||
-rw-r--r-- | scripts/kconfig/qconf.cc | 2 |
3 files changed, 7 insertions, 4 deletions
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c index 6c204318bc94..866369f10ff8 100644 --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c | |||
@@ -5,6 +5,7 @@ | |||
5 | 5 | ||
6 | #include <locale.h> | 6 | #include <locale.h> |
7 | #include <ctype.h> | 7 | #include <ctype.h> |
8 | #include <limits.h> | ||
8 | #include <stdio.h> | 9 | #include <stdio.h> |
9 | #include <stdlib.h> | 10 | #include <stdlib.h> |
10 | #include <string.h> | 11 | #include <string.h> |
@@ -41,7 +42,7 @@ static int tty_stdio; | |||
41 | static int valid_stdin = 1; | 42 | static int valid_stdin = 1; |
42 | static int sync_kconfig; | 43 | static int sync_kconfig; |
43 | static int conf_cnt; | 44 | static int conf_cnt; |
44 | static char line[128]; | 45 | static char line[PATH_MAX]; |
45 | static struct menu *rootEntry; | 46 | static struct menu *rootEntry; |
46 | 47 | ||
47 | static void print_help(struct menu *menu) | 48 | static void print_help(struct menu *menu) |
@@ -109,7 +110,7 @@ static int conf_askvalue(struct symbol *sym, const char *def) | |||
109 | /* fall through */ | 110 | /* fall through */ |
110 | case oldaskconfig: | 111 | case oldaskconfig: |
111 | fflush(stdout); | 112 | fflush(stdout); |
112 | xfgets(line, 128, stdin); | 113 | xfgets(line, sizeof(line), stdin); |
113 | if (!tty_stdio) | 114 | if (!tty_stdio) |
114 | printf("\n"); | 115 | printf("\n"); |
115 | return 1; | 116 | return 1; |
@@ -311,7 +312,7 @@ static int conf_choice(struct menu *menu) | |||
311 | /* fall through */ | 312 | /* fall through */ |
312 | case oldaskconfig: | 313 | case oldaskconfig: |
313 | fflush(stdout); | 314 | fflush(stdout); |
314 | xfgets(line, 128, stdin); | 315 | xfgets(line, sizeof(line), stdin); |
315 | strip(line); | 316 | strip(line); |
316 | if (line[0] == '?') { | 317 | if (line[0] == '?') { |
317 | print_help(menu); | 318 | print_help(menu); |
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c index b05cc3d4a9be..aed678e8a777 100644 --- a/scripts/kconfig/menu.c +++ b/scripts/kconfig/menu.c | |||
@@ -477,7 +477,7 @@ bool menu_is_visible(struct menu *menu) | |||
477 | 477 | ||
478 | if (menu->visibility) { | 478 | if (menu->visibility) { |
479 | if (expr_calc_value(menu->visibility) == no) | 479 | if (expr_calc_value(menu->visibility) == no) |
480 | return no; | 480 | return false; |
481 | } | 481 | } |
482 | 482 | ||
483 | sym = menu->sym; | 483 | sym = menu->sym; |
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc index 91b7e6fbc364..fc5555992220 100644 --- a/scripts/kconfig/qconf.cc +++ b/scripts/kconfig/qconf.cc | |||
@@ -1863,6 +1863,8 @@ int main(int ac, char** av) | |||
1863 | 1863 | ||
1864 | configSettings->endGroup(); | 1864 | configSettings->endGroup(); |
1865 | delete configSettings; | 1865 | delete configSettings; |
1866 | delete v; | ||
1867 | delete configApp; | ||
1866 | 1868 | ||
1867 | return 0; | 1869 | return 0; |
1868 | } | 1870 | } |