summaryrefslogtreecommitdiff
path: root/run-command.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-07-22 11:23:12 -0700
committerJunio C Hamano <gitster@pobox.com>2013-07-22 11:23:13 -0700
commit1d1934caf1c927cb12cd76aa6ced9eab51a3d435 (patch)
tree7221825fc2700eb3b743335c2dc2b55e22b4d0c8 /run-command.c
parent6a5b9ce5e12f039b126b1c97be7ba1b63ace5149 (diff)
parenta77f106c7837faf6a712ea3ac720f5c4fa2feb07 (diff)
downloadgit-1d1934caf1c927cb12cd76aa6ced9eab51a3d435.tar.gz
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()
Diffstat (limited to 'run-command.c')
-rw-r--r--run-command.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/run-command.c b/run-command.c
index aece872e33..1b7f88eeb1 100644
--- a/run-command.c
+++ b/run-command.c
@@ -76,7 +76,10 @@ static inline void close_pair(int fd[2])
static inline void dup_devnull(int to)
{
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);
}
#endif