Merge branch 'tr/fd-gotcha-fixes'
Two places we did not check return value (expected to be a file descriptor) correctly. * tr/fd-gotcha-fixes: run-command: dup_devnull(): guard against syscalls failing git_mkstemps: correctly test return value of open()
This commit is contained in:
commit
1d1934caf1
@ -76,7 +76,10 @@ static inline void close_pair(int fd[2])
|
|||||||
static inline void dup_devnull(int to)
|
static inline void dup_devnull(int to)
|
||||||
{
|
{
|
||||||
int fd = open("/dev/null", O_RDWR);
|
int fd = open("/dev/null", O_RDWR);
|
||||||
dup2(fd, to);
|
if (fd < 0)
|
||||||
|
die_errno(_("open /dev/null failed"));
|
||||||
|
if (dup2(fd, to) < 0)
|
||||||
|
die_errno(_("dup2(%d,%d) failed"), fd, to);
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -322,7 +322,7 @@ int git_mkstemps_mode(char *pattern, int suffix_len, int mode)
|
|||||||
template[5] = letters[v % num_letters]; v /= num_letters;
|
template[5] = letters[v % num_letters]; v /= num_letters;
|
||||||
|
|
||||||
fd = open(pattern, O_CREAT | O_EXCL | O_RDWR, mode);
|
fd = open(pattern, O_CREAT | O_EXCL | O_RDWR, mode);
|
||||||
if (fd > 0)
|
if (fd >= 0)
|
||||||
return fd;
|
return fd;
|
||||||
/*
|
/*
|
||||||
* Fatal error (EPERM, ENOSPC etc).
|
* Fatal error (EPERM, ENOSPC etc).
|
||||||
|
Loading…
Reference in New Issue
Block a user