From 51eab54102adb3927f2eac41f888d4937d183717 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sun, 14 Mar 2010 23:17:59 +0000 Subject: [PATCH] Avoid use-after-free when cancelling copy mode. --- window-copy.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/window-copy.c b/window-copy.c index 23c7f2d0..204db0bd 100644 --- a/window-copy.c +++ b/window-copy.c @@ -1,4 +1,4 @@ -/* $Id: window-copy.c,v 1.109 2010-03-08 15:02:07 tcunha Exp $ */ +/* $Id: window-copy.c,v 1.110 2010-03-14 23:17:59 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -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: