-/* $OpenBSD: cmd-new-session.c,v 1.136 2021/06/10 07:24:45 nicm Exp $ */
+/* $OpenBSD: cmd-new-session.c,v 1.137 2021/07/06 08:18:38 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
if (tmp != NULL) {
name = format_single(item, tmp, c, NULL, NULL, NULL);
newname = session_check_name(name);
+ if (newname == NULL) {
+ cmdq_error(item, "invalid session: %s", name);
+ free(name);
+ return (CMD_RETURN_ERROR);
+ }
free(name);
}
if (args_has(args, 'A')) {
prefix = xstrdup(sg->name);
else if (groupwith != NULL)
prefix = xstrdup(groupwith->name);
- else
+ else {
prefix = session_check_name(group);
+ if (prefix == NULL) {
+ cmdq_error(item, "invalid session group: %s",
+ group);
+ goto fail;
+ }
+ }
}
/* Set -d if no client. */
-/* $OpenBSD: cmd-rename-session.c,v 1.32 2020/05/16 14:49:50 nicm Exp $ */
+/* $OpenBSD: cmd-rename-session.c,v 1.33 2021/07/06 08:18:38 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
tmp = format_single_from_target(item, args->argv[0]);
newname = session_check_name(tmp);
+ if (newname == NULL) {
+ cmdq_error(item, "invalid session: %s", tmp);
+ free(tmp);
+ return (CMD_RETURN_ERROR);
+ }
free(tmp);
if (strcmp(newname, s->name) == 0) {
free(newname);
-/* $OpenBSD: session.c,v 1.87 2020/05/16 14:49:50 nicm Exp $ */
+/* $OpenBSD: session.c,v 1.88 2021/07/06 08:18:38 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
{
char *copy, *cp, *new_name;
+ if (*name == '\0')
+ return (NULL);
copy = xstrdup(name);
for (cp = copy; *cp != '\0'; cp++) {
if (*cp == ':' || *cp == '.')