mirror of
https://github.com/tmux/tmux.git
synced 2024-12-25 02:48:47 +00:00
Sync OpenBSD patchset 906:
Fix a memory leak if cmd_pane_session succeeds, from Tiago Cunha.
This commit is contained in:
parent
4efd45628d
commit
1d2b487c84
6
cmd.c
6
cmd.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: cmd.c,v 1.152 2011-04-06 22:29:26 nicm Exp $ */
|
/* $Id: cmd.c,v 1.153 2011-05-18 20:30:36 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -713,20 +713,20 @@ cmd_find_session(struct cmd_ctx *ctx, const char *arg, int prefer_unattached)
|
|||||||
/* A NULL argument means the current session. */
|
/* A NULL argument means the current session. */
|
||||||
if (arg == NULL)
|
if (arg == NULL)
|
||||||
return (cmd_current_session(ctx, prefer_unattached));
|
return (cmd_current_session(ctx, prefer_unattached));
|
||||||
tmparg = xstrdup(arg);
|
|
||||||
|
|
||||||
/* Lookup as pane id. */
|
/* Lookup as pane id. */
|
||||||
if ((wp = cmd_lookup_paneid(arg)) != NULL)
|
if ((wp = cmd_lookup_paneid(arg)) != NULL)
|
||||||
return (cmd_pane_session(ctx, wp, NULL));
|
return (cmd_pane_session(ctx, wp, NULL));
|
||||||
|
|
||||||
/* Trim a single trailing colon if any. */
|
/* Trim a single trailing colon if any. */
|
||||||
|
tmparg = xstrdup(arg);
|
||||||
arglen = strlen(tmparg);
|
arglen = strlen(tmparg);
|
||||||
if (arglen != 0 && tmparg[arglen - 1] == ':')
|
if (arglen != 0 && tmparg[arglen - 1] == ':')
|
||||||
tmparg[arglen - 1] = '\0';
|
tmparg[arglen - 1] = '\0';
|
||||||
|
|
||||||
/* An empty session name is the current session. */
|
/* An empty session name is the current session. */
|
||||||
if (*tmparg == '\0') {
|
if (*tmparg == '\0') {
|
||||||
xfree (tmparg);
|
xfree(tmparg);
|
||||||
return (cmd_current_session(ctx, prefer_unattached));
|
return (cmd_current_session(ctx, prefer_unattached));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user