aboutsummaryrefslogtreecommitdiff
path: root/cmd-rename-session.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2020-04-24 16:40:10 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2020-04-24 16:40:10 +0100
commit9b571daceec3ba038c669e90e20c3c0c2c755c57 (patch)
tree4c558a2b3b7cf54028192afcaacf782581bcc9eb /cmd-rename-session.c
parent527f66ed23a88a59fb3d8c1972336f55612059bf (diff)
downloadrtmux-9b571daceec3ba038c669e90e20c3c0c2c755c57.tar.gz
rtmux-9b571daceec3ba038c669e90e20c3c0c2c755c57.tar.bz2
rtmux-9b571daceec3ba038c669e90e20c3c0c2c755c57.zip
Instead of forbidding invalid session names, sanitize them.
Diffstat (limited to 'cmd-rename-session.c')
-rw-r--r--cmd-rename-session.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/cmd-rename-session.c b/cmd-rename-session.c
index 4b2c3d88..51b8ffc8 100644
--- a/cmd-rename-session.c
+++ b/cmd-rename-session.c
@@ -49,19 +49,15 @@ cmd_rename_session_exec(struct cmd *self, struct cmdq_item *item)
struct args *args = cmd_get_args(self);
struct cmd_find_state *target = cmdq_get_target(item);
struct session *s = target->s;
- char *newname;
+ char *newname, *tmp;
- newname = format_single_from_target(item, args->argv[0]);
+ tmp = format_single_from_target(item, args->argv[0]);
+ newname = session_check_name(tmp);
+ free(tmp);
if (strcmp(newname, s->name) == 0) {
free(newname);
return (CMD_RETURN_NORMAL);
}
-
- if (!session_check_name(newname)) {
- cmdq_error(item, "bad session name: %s", newname);
- free(newname);
- return (CMD_RETURN_ERROR);
- }
if (session_find(newname) != NULL) {
cmdq_error(item, "duplicate session: %s", newname);
free(newname);