=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-new-session.c,v retrieving revision 1.55 retrieving revision 1.56 diff -c -r1.55 -r1.56 *** src/usr.bin/tmux/cmd-new-session.c 2013/10/10 12:28:38 1.55 --- src/usr.bin/tmux/cmd-new-session.c 2013/11/22 20:58:36 1.56 *************** *** 1,4 **** ! /* $OpenBSD: cmd-new-session.c,v 1.55 2013/10/10 12:28:38 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-new-session.c,v 1.56 2013/11/22 20:58:36 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 107,119 **** cp = format_expand(ft, args_get(args, 'c')); format_free(ft); ! fd = open(cp, O_RDONLY|O_DIRECTORY); ! free(cp); ! if (fd == -1) { ! cmdq_error(cmdq, "bad working directory: %s", ! strerror(errno)); ! return (CMD_RETURN_ERROR); ! } cwd = fd; } else if (c != NULL && c->session == NULL) cwd = c->cwd; --- 107,122 ---- cp = format_expand(ft, args_get(args, 'c')); format_free(ft); ! if (cp != NULL && *cp != '\0') { ! fd = open(cp, O_RDONLY|O_DIRECTORY); ! free(cp); ! if (fd == -1) { ! cmdq_error(cmdq, "bad working directory: %s", ! strerror(errno)); ! return (CMD_RETURN_ERROR); ! } ! } else if (cp != NULL) ! free(cp); cwd = fd; } else if (c != NULL && c->session == NULL) cwd = c->cwd;