kconfig/nconf: Fix hang when editing symbol with a long prompt
authorBen Hutchings <ben.hutchings@codethink.co.uk>
Thu, 24 Nov 2016 22:10:23 +0000 (22:10 +0000)
committerMichal Marek <mmarek@suse.com>
Sun, 11 Dec 2016 11:26:42 +0000 (12:26 +0100)
commit79e51b5c2deea542b3bb8c66e0d502230b017dde
tree5f27130752ba07e71bee19284e54d131e601445c
parent0eb47346968f9b3852bbc56115f4feeecf23ea40
kconfig/nconf: Fix hang when editing symbol with a long prompt

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().

Cc: stable <stable@vger.kernel.org>
Fixes: 692d97c380c6 ("kconfig: new configuration interface (nconfig)")
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
scripts/kconfig/nconf.gui.c