From 48dd72005e879336ea2439fb3422296be664cc76 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sun, 14 Mar 2010 23:31:23 +0000 Subject: [PATCH] Fix a use-after-free when cancelling copy mode, or trying to repeat cancel. ok kettenis --- window-copy.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/window-copy.c b/window-copy.c index 17fc792b..c27b1821 100644 --- a/window-copy.c +++ b/window-copy.c @@ -256,9 +256,8 @@ window_copy_key(struct window_pane *wp, struct client *c, int key) cmd = mode_key_lookup(&data->mdata, key); switch (cmd) { case MODEKEYCOPY_CANCEL: - for (; np != 0; np--) - window_pane_reset_mode(wp); - break; + window_pane_reset_mode(wp); + return; case MODEKEYCOPY_LEFT: for (; np != 0; np--) window_copy_cursor_left(wp); @@ -366,6 +365,7 @@ window_copy_key(struct window_pane *wp, struct client *c, int key) if (c != NULL && c->session != NULL) { window_copy_copy_selection(wp, c); window_pane_reset_mode(wp); + return; } break; case MODEKEYCOPY_STARTOFLINE: -- 2.11.4.GIT