mirror of
https://github.com/tmate-io/tmate-ssh-server.git
synced 2020-11-18 19:53:51 -08:00
Fix a memory leak if cmd_pane_session succeeds, from Tiago Cunha.
This commit is contained in:
parent
f3741f0653
commit
6f08472049
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user