diff options
author | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2010-03-09 16:34:06 -0500 |
---|---|---|
committer | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2010-03-09 16:34:06 -0500 |
commit | 2d92e194efbb7973847640a4fb78b4be30603700 (patch) | |
tree | 10a193761898d76ffbce7cbdec3bc5d9f301e582 | |
parent | 26c3a1a371aaa55e2ee322d8c722e1f46bed5d38 (diff) | |
download | screen-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.c | 4 |
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; } |