Merge branch 'obsd-master'

Sync from OpenBSD.
This commit is contained in:
Thomas Adam
2012-11-27 18:12:04 +00:00
11 changed files with 142 additions and 55 deletions

12
tmux.c
View File

@ -162,7 +162,7 @@ parseenvironment(void)
char *
makesocketpath(const char *label)
{
char base[MAXPATHLEN], *path, *s;
char base[MAXPATHLEN], realbase[MAXPATHLEN], *path, *s;
struct stat sb;
u_int uid;
@ -186,7 +186,10 @@ makesocketpath(const char *label)
return (NULL);
}
xasprintf(&path, "%s/%s", base, label);
if (realpath(base, realbase) == NULL)
strlcpy(realbase, base, sizeof realbase);
xasprintf(&path, "%s/%s", realbase, label);
return (path);
}
@ -333,6 +336,8 @@ main(int argc, char **argv)
options_init(&global_w_options, NULL);
options_table_populate_tree(window_options_table, &global_w_options);
ARRAY_INIT(&cfg_causes);
/* Enable UTF-8 if the first client is on UTF-8 terminal. */
if (flags & IDENTIFY_UTF8) {
options_set_number(&global_s_options, "status-utf8", 1);
@ -390,8 +395,7 @@ main(int argc, char **argv)
}
}
free(label);
if (realpath(path, socket_path) == NULL)
strlcpy(socket_path, path, sizeof socket_path);
strlcpy(socket_path, path, sizeof socket_path);
free(path);
#ifdef HAVE_SETPROCTITLE