diff options
author | 2011-05-08 20:37:04 +0000 | |
---|---|---|
committer | 2011-05-08 20:37:04 +0000 | |
commit | a068d83b9474ee9c8c5e4217c422ea36e68dd9e8 (patch) | |
tree | 9661cb0b4f9d04c3d25dbd49f67b289882fcfb30 | |
parent | Fix a memory leak if cmd_pane_session succeeds, from Tiago Cunha. (diff) | |
download | wireguard-openbsd-a068d83b9474ee9c8c5e4217c422ea36e68dd9e8.tar.xz wireguard-openbsd-a068d83b9474ee9c8c5e4217c422ea36e68dd9e8.zip |
Fix a couple of memory leaks, from Tiago Cunha.
-rw-r--r-- | usr.bin/tmux/cmd-capture-pane.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/usr.bin/tmux/cmd-capture-pane.c b/usr.bin/tmux/cmd-capture-pane.c index b7cd420cb43..87e1980ff26 100644 --- a/usr.bin/tmux/cmd-capture-pane.c +++ b/usr.bin/tmux/cmd-capture-pane.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-capture-pane.c,v 1.7 2011/03/28 20:17:39 nicm Exp $ */ +/* $OpenBSD: cmd-capture-pane.c,v 1.8 2011/05/08 20:37:04 nicm Exp $ */ /* * Copyright (c) 2009 Jonathan Alvarado <radobobo@users.sourceforge.net> @@ -60,9 +60,10 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx) len = 0; n = args_strtonum(args, 'S', SHRT_MIN, SHRT_MAX, &cause); - if (cause != NULL) + if (cause != NULL) { top = gd->hsize; - else if (n < 0 && (u_int) -n > gd->hsize) + xfree(cause); + } else if (n < 0 && (u_int) -n > gd->hsize) top = 0; else top = gd->hsize + n; @@ -70,9 +71,10 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx) top = gd->hsize + gd->sy - 1; n = args_strtonum(args, 'E', SHRT_MIN, SHRT_MAX, &cause); - if (cause != NULL) + if (cause != NULL) { bottom = gd->hsize + gd->sy - 1; - else if (n < 0 && (u_int) -n > gd->hsize) + xfree(cause); + } else if (n < 0 && (u_int) -n > gd->hsize) bottom = 0; else bottom = gd->hsize + n; |