mirror of
https://github.com/tmux/tmux.git
synced 2024-11-18 10:28:54 +00:00
Fix previous not to leak fd on failure, whoops.
This commit is contained in:
parent
3d8a8ea0c6
commit
9f330897a8
16
tmux.c
16
tmux.c
@ -127,23 +127,25 @@ areshell(const char *shell)
|
||||
const char*
|
||||
get_full_path(const char *wd, const char *path)
|
||||
{
|
||||
int fd;
|
||||
static char newpath[MAXPATHLEN];
|
||||
int fd;
|
||||
static char newpath[MAXPATHLEN];
|
||||
const char *retval;
|
||||
|
||||
fd = open(".", O_RDONLY);
|
||||
if (fd == -1)
|
||||
return (NULL);
|
||||
|
||||
if (chdir(wd) != 0)
|
||||
return (NULL);
|
||||
if (realpath(path, newpath) != 0)
|
||||
return (NULL);
|
||||
retval = NULL;
|
||||
if (chdir(wd) == 0) {
|
||||
if (realpath(path, newpath) == 0)
|
||||
retval = newpath;
|
||||
}
|
||||
|
||||
if (fchdir(fd) != 0)
|
||||
chdir("/");
|
||||
close(fd);
|
||||
|
||||
return (newpath);
|
||||
return (retval);
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user