summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2010-03-09 16:34:06 -0500
committerSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2010-03-09 16:34:06 -0500
commit2d92e194efbb7973847640a4fb78b4be30603700 (patch)
tree10a193761898d76ffbce7cbdec3bc5d9f301e582
parent26c3a1a371aaa55e2ee322d8c722e1f46bed5d38 (diff)
downloadscreen-2d92e194efbb7973847640a4fb78b4be30603700.tar.gz
Fix an invalid memory read.
The window-list data gets freed when we abort the list. So read what we need to before aborting the list.
-rw-r--r--src/list_window.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/list_window.c b/src/list_window.c
index c46aa9e..ee71fde 100644
--- a/src/list_window.c
+++ b/src/list_window.c
@@ -413,10 +413,10 @@ gl_Window_input(struct ListData *ldata, char **inp, int *len)
case 007: /* ^G */
if (!WLIST_FOR_GROUP(wdata))
{
- int fnumber = wdata->fore->w_number;
+ int fnumber = wdata->onblank ? wdata->fore->w_number : -1;
glist_abort();
display = cd;
- if (wdata->onblank)
+ if (fnumber >= 0)
SwitchWindow(fnumber);
*len = 0;
}