提交 af75d517 编写于 作者: L Linus Torvalds

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
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include <locale.h> #include <locale.h>
#include <ctype.h> #include <ctype.h>
#include <limits.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
...@@ -41,7 +42,7 @@ static int tty_stdio; ...@@ -41,7 +42,7 @@ static int tty_stdio;
static int valid_stdin = 1; static int valid_stdin = 1;
static int sync_kconfig; static int sync_kconfig;
static int conf_cnt; static int conf_cnt;
static char line[128]; static char line[PATH_MAX];
static struct menu *rootEntry; static struct menu *rootEntry;
static void print_help(struct menu *menu) static void print_help(struct menu *menu)
...@@ -109,7 +110,7 @@ static int conf_askvalue(struct symbol *sym, const char *def) ...@@ -109,7 +110,7 @@ static int conf_askvalue(struct symbol *sym, const char *def)
/* fall through */ /* fall through */
case oldaskconfig: case oldaskconfig:
fflush(stdout); fflush(stdout);
xfgets(line, 128, stdin); xfgets(line, sizeof(line), stdin);
if (!tty_stdio) if (!tty_stdio)
printf("\n"); printf("\n");
return 1; return 1;
...@@ -311,7 +312,7 @@ static int conf_choice(struct menu *menu) ...@@ -311,7 +312,7 @@ static int conf_choice(struct menu *menu)
/* fall through */ /* fall through */
case oldaskconfig: case oldaskconfig:
fflush(stdout); fflush(stdout);
xfgets(line, 128, stdin); xfgets(line, sizeof(line), stdin);
strip(line); strip(line);
if (line[0] == '?') { if (line[0] == '?') {
print_help(menu); print_help(menu);
......
...@@ -477,7 +477,7 @@ bool menu_is_visible(struct menu *menu) ...@@ -477,7 +477,7 @@ bool menu_is_visible(struct menu *menu)
if (menu->visibility) { if (menu->visibility) {
if (expr_calc_value(menu->visibility) == no) if (expr_calc_value(menu->visibility) == no)
return no; return false;
} }
sym = menu->sym; sym = menu->sym;
......
...@@ -1863,6 +1863,8 @@ int main(int ac, char** av) ...@@ -1863,6 +1863,8 @@ int main(int ac, char** av)
configSettings->endGroup(); configSettings->endGroup();
delete configSettings; delete configSettings;
delete v;
delete configApp;
return 0; return 0;
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册