From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
Ben Hutchings <ben.hutchings@codethink.co.uk>
Subject: [PATCH 4.4 56/58] kconfig/nconf: Fix hang when editing symbol with a long prompt
Date: Fri, 6 Jan 2017 22:44:41 +0100 [thread overview]
Message-ID: <20170106213909.230617363@linuxfoundation.org> (raw)
In-Reply-To: <20170106213906.290654840@linuxfoundation.org>
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ben Hutchings <ben.hutchings@codethink.co.uk>
commit 79e51b5c2deea542b3bb8c66e0d502230b017dde 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: 692d97c380c6 ("kconfig: new configuration interface (nconfig)")
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
scripts/kconfig/nconf.gui.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
--- a/scripts/kconfig/nconf.gui.c
+++ b/scripts/kconfig/nconf.gui.c
@@ -364,12 +364,14 @@ int dialog_inputbox(WINDOW *main_window,
WINDOW *prompt_win;
WINDOW *form_win;
PANEL *panel;
- int i, x, y;
+ int i, x, y, lines, columns, win_lines, win_cols;
int res = -1;
int cursor_position = strlen(init);
int cursor_form_win;
char *result = *resultp;
+ getmaxyx(stdscr, lines, columns);
+
if (strlen(init)+1 > *result_len) {
*result_len = strlen(init)+1;
*resultp = result = realloc(result, *result_len);
@@ -386,14 +388,19 @@ int dialog_inputbox(WINDOW *main_window,
if (title)
prompt_width = max(prompt_width, strlen(title));
+ win_lines = min(prompt_lines+6, lines-2);
+ win_cols = min(prompt_width+7, columns-2);
+ prompt_lines = max(win_lines-6, 0);
+ prompt_width = max(win_cols-7, 0);
+
/* place dialog in middle of screen */
- y = (getmaxy(stdscr)-(prompt_lines+4))/2;
- x = (getmaxx(stdscr)-(prompt_width+4))/2;
+ y = (lines-win_lines)/2;
+ x = (columns-win_cols)/2;
strncpy(result, init, *result_len);
/* create the windows */
- win = newwin(prompt_lines+6, prompt_width+7, y, x);
+ win = newwin(win_lines, win_cols, y, x);
prompt_win = derwin(win, prompt_lines+1, prompt_width, 2, 2);
form_win = derwin(win, 1, prompt_width, prompt_lines+3, 2);
keypad(form_win, TRUE);
next prev parent reply other threads:[~2017-01-06 22:03 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20170106220400epcas3p1efbe4d9a81e843002529bd6fc2826260@epcas3p1.samsung.com>
2017-01-06 21:43 ` [PATCH 4.4 00/58] 4.4.41-stable review Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 01/58] ssb: Fix error routine when fallback SPROM fails Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 02/58] rtlwifi: Fix enter/exit power_save Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 03/58] cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 04/58] ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 05/58] mmc: sdhci: Fix recovery from tuning timeout Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 06/58] regulator: stw481x-vmmc: fix ages old enable error Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 07/58] timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 08/58] clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 09/58] thermal: hwmon: Properly report critical temperature in sysfs Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 10/58] staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 11/58] staging: comedi: ni_mio_common: fix E series ni_ai_insn_read() data Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 12/58] ACPI / video: Add force_native quirk for Dell XPS 17 L702X Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 13/58] ACPI / video: Add force_native quirk for HP Pavilion dv6 Greg Kroah-Hartman
2017-01-06 21:43 ` [PATCH 4.4 14/58] drm/nouveau/kms: lvds panel strap moved again on maxwell Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 15/58] drm/nouveau/bios: require checksum to match for fast acpi shadow method Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 16/58] drm/nouveau/ltc: protect clearing of comptags with mutex Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 17/58] drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 18/58] drm/nouveau/i2c/gk110b,gm10x: use the correct implementation Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 21/58] drm/radeon: add additional pci revision to dpm workaround Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 22/58] drm/gma500: Add compat ioctl Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 23/58] drivers/gpu/drm/ast: Fix infinite loop if read fails Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 24/58] mei: request async autosuspend at the end of enumeration Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 25/58] block: protect iterate_bdevs() against concurrent close Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 26/58] vt: fix Scroll Lock LED trigger name Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 27/58] scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 28/58] scsi: megaraid_sas: Do not set MPI2_TYPE_CUDA for JBOD FP path for FW which does not support JBOD sequence map Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 29/58] scsi: zfcp: fix use-after-"free" in FC ingress path after TMF Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 30/58] scsi: zfcp: do not trace pure benign residual HBA responses at default level Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 31/58] scsi: zfcp: fix rport unblock race with LUN recovery Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 32/58] scsi: avoid a permanent stop of the scsi devices request queue Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 33/58] ARC: mm: arc700: Dont assume 2 colours for aliasing VIPT dcache Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 34/58] firmware: fix usermode helper fallback loading Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 35/58] s390/vmlogrdr: fix IUCV buffer allocation Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 36/58] sc16is7xx: Drop bogus use of IRQF_ONESHOT Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 37/58] md/raid5: limit request size according to implementation limits Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 38/58] KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 39/58] KVM: PPC: Book3S HV: Dont lose hardware R/C bit updates in H_PROTECT Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 40/58] kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF) Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 41/58] ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 42/58] platform/x86: asus-nb-wmi.c: Add X45U quirk Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 43/58] fgraph: Handle a case where a tracer ignores set_graph_notrace Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 44/58] IB/mad: Fix an array index check Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 45/58] IPoIB: Avoid reading an uninitialized member variable Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 46/58] IB/multicast: Check ib_find_pkey() return value Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 47/58] IB/cma: Fix a race condition in iboe_addr_get_sgid() Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 48/58] [media] media: solo6x10: fix lockup by avoiding delayed register write Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 49/58] Input: drv260x - fix input devices parent assignment Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 50/58] PCI: Check for PME in targeted sleep state Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 51/58] libceph: verify authorize reply on connect Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 52/58] nfs_write_end(): fix handling of short copies Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 53/58] powerpc/ps3: Fix system hang with GCC 5 builds Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 54/58] powerpc: Convert cmp to cmpd in idle enter sequence Greg Kroah-Hartman
2017-01-09 9:55 ` Vaidyanathan Srinivasan
2017-01-06 21:44 ` [PATCH 4.4 55/58] target/user: Fix use-after-free of tcmu_cmds if they are expired Greg Kroah-Hartman
2017-01-06 21:44 ` Greg Kroah-Hartman [this message]
2017-01-06 21:44 ` [PATCH 4.4 57/58] sg_write()/bsg_write() is not fit to be called under KERNEL_DS Greg Kroah-Hartman
2017-01-06 21:44 ` [PATCH 4.4 58/58] net: mvpp2: fix dma unmapping of TX buffers for fragments Greg Kroah-Hartman
2017-01-07 2:05 ` [PATCH 4.4 00/58] 4.4.41-stable review Shuah Khan
2017-01-07 15:51 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170106213909.230617363@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ben.hutchings@codethink.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).