mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +00:00
Merge branch 'obsd-master'
This commit is contained in:
@ -2026,10 +2026,10 @@ server_client_dispatch_read_data(struct client *c, struct imsg *imsg)
|
||||
struct msg_read_data *msg = imsg->data;
|
||||
size_t msglen = imsg->hdr.len - IMSG_HEADER_SIZE;
|
||||
struct client_file find, *cf;
|
||||
void *bdata = msg->data;
|
||||
size_t bsize = msg->size;
|
||||
void *bdata = msg + 1;
|
||||
size_t bsize = msglen - sizeof *msg;
|
||||
|
||||
if (msglen != sizeof *msg)
|
||||
if (msglen < sizeof *msg)
|
||||
fatalx("bad MSG_READ_DATA size");
|
||||
find.stream = msg->stream;
|
||||
if ((cf = RB_FIND(client_files, &c->files, &find)) == NULL)
|
||||
@ -2113,19 +2113,3 @@ server_client_get_cwd(struct client *c, struct session *s)
|
||||
return (home);
|
||||
return ("/");
|
||||
}
|
||||
|
||||
/* Resolve an absolute path or relative to client working directory. */
|
||||
char *
|
||||
server_client_get_path(struct client *c, const char *file)
|
||||
{
|
||||
char *path, resolved[PATH_MAX];
|
||||
|
||||
if (*file == '/')
|
||||
path = xstrdup(file);
|
||||
else
|
||||
xasprintf(&path, "%s/%s", server_client_get_cwd(c, NULL), file);
|
||||
if (realpath(path, resolved) == NULL)
|
||||
return (path);
|
||||
free(path);
|
||||
return (xstrdup(resolved));
|
||||
}
|
||||
|
Reference in New Issue
Block a user