linux/scripts/kconfig
Ben Hutchings cc46a1d777 kconfig/nconf: Fix hang when editing symbol with a long prompt
commit 79e51b5c2d upstream.

Currently it is impossible to edit the value of a config symbol with a
prompt longer than (terminal width - 2) characters.  dialog_inputbox()
calculates a negative x-offset for the input window and newwin() fails
as this is invalid.  It also doesn't check for this failure, so it
busy-loops calling wgetch(NULL) which immediately returns -1.

The additions in the offset calculations also don't match the intended
size of the window.

Limit the window size and calculate the offset similarly to
show_scroll_win().

Fixes: 692d97c380 ("kconfig: new configuration interface (nconfig)")
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2017-03-16 02:26:33 +00:00
..
lxdialog kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
.gitignore kconfig: remove lkc_defs.h from .gitignore and dontdiff 2012-07-13 15:08:25 +02:00
check.sh kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
conf.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
confdata.c unbreak allmodconfig KCONFIG_ALLCONFIG=... 2016-05-01 00:05:45 +02:00
expr.c kconfig: Fix malloc handling in conf tools 2012-11-20 12:12:47 +01:00
expr.h kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT 2014-04-07 16:36:09 -07:00
gconf.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
gconf.glade scripts/kconfig/gconf.glade Update broken web addresses. 2010-09-17 16:54:42 +02:00
images.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kxgettext.c kconfig: nuke LKC_DIRECT_LINK cruft 2011-06-06 15:32:20 -04:00
list.h kconfig: fix lists definition for C++ 2013-04-29 19:55:56 +02:00
lkc.h kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT 2014-04-07 16:36:09 -07:00
lkc_proto.h mconf/nconf: mark empty menus/menuconfigs different from non-empty ones 2013-06-18 23:58:59 +02:00
Makefile Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2014-06-12 21:29:20 -07:00
mconf.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
menu.c kconfig: return 'false' instead of 'no' in bool function 2016-02-02 19:46:40 +00:00
merge_config.sh merge_config.sh: Avoid creating unnessary source softlinks 2013-04-10 10:55:22 +02:00
nconf.c kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
nconf.gui.c kconfig/nconf: Fix hang when editing symbol with a long prompt 2017-03-16 02:26:33 +00:00
nconf.h scripts/kconfig/nconf: dynamically alloc dialog_input_result 2011-09-09 14:40:08 +02:00
POTFILES.in kconfig: gettext support for lxdialog 2008-01-28 23:14:39 +01:00
qconf.cc xconfig: Fix the filename for GUI settings 2013-10-08 23:52:16 +02:00
qconf.h xconfig: Fix the filename for GUI settings 2013-10-08 23:52:16 +02:00
streamline_config.pl localmodconfig: Use Kbuild files too 2015-09-03 13:29:47 +01:00
symbol.c kconfig: fix trivial typos and update mconf documentation 2013-10-08 23:52:14 +02:00
util.c kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
zconf.gperf kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT 2014-04-07 16:36:09 -07:00
zconf.hash.c_shipped kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT 2014-04-07 16:36:09 -07:00
zconf.l kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
zconf.lex.c_shipped kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
zconf.tab.c_shipped kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
zconf.y kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00