@@ -99,10 +99,23 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item *item)
9999 return (CMD_RETURN_ERROR );
100100 }
101101
102+ tmp = args_get (args , 'n' );
103+ if (tmp != NULL ) {
104+ name = format_single (item , tmp , c , NULL , NULL , NULL );
105+ cp = check_name (name , "#" );
106+ if (cp == NULL ) {
107+ cmdq_error (item , "invalid window name: %s" , name );
108+ free (name );
109+ return (CMD_RETURN_ERROR );
110+ }
111+ free (cp );
112+ free (name );
113+ }
114+
102115 tmp = args_get (args , 's' );
103116 if (tmp != NULL ) {
104117 name = format_single (item , tmp , c , NULL , NULL , NULL );
105- newname = clean_name (name , "#:." );
118+ newname = check_name (name , "#:." );
106119 if (newname == NULL ) {
107120 cmdq_error (item , "invalid session: %s" , name );
108121 free (name );
@@ -142,7 +155,7 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item *item)
142155 else if (groupwith != NULL )
143156 prefix = xstrdup (groupwith -> name );
144157 else {
145- prefix = clean_name (group , "#:." );
158+ prefix = check_name (group , "#:." );
146159 if (prefix == NULL ) {
147160 cmdq_error (item , "invalid session group: %s" ,
148161 group );
0 commit comments