mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 22:43:58 +00:00
Fix a memory leak if cmd_pane_session succeeds, from Tiago Cunha.
This commit is contained in:
4
cmd.c
4
cmd.c
@ -714,20 +714,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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user