summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2011-05-08 20:37:04 +0000
committernicm <nicm@openbsd.org>2011-05-08 20:37:04 +0000
commita068d83b9474ee9c8c5e4217c422ea36e68dd9e8 (patch)
tree9661cb0b4f9d04c3d25dbd49f67b289882fcfb30
parentFix a memory leak if cmd_pane_session succeeds, from Tiago Cunha. (diff)
downloadwireguard-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.c12
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;