diff options
author | Thomas Rast <trast@inf.ethz.ch> | 2013-07-12 10:58:36 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-07-12 10:30:09 -0700 |
commit | a77f106c7837faf6a712ea3ac720f5c4fa2feb07 (patch) | |
tree | 15ecb20533e86b9c215a1b94796ba476fb3ac249 /run-command.c | |
parent | a2cb86c1524b7af20e609ca8d3db0b60b5c1d575 (diff) | |
download | git-a77f106c7837faf6a712ea3ac720f5c4fa2feb07.tar.gz |
run-command: dup_devnull(): guard against syscalls failing
dup_devnull() did not check the return values of open() and dup2().
Fix this omission.
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'run-command.c')
-rw-r--r-- | run-command.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/run-command.c b/run-command.c index 04712191e8..afc573ed41 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 |