aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2007-03-26 15:57:23 +0200
committerJunio C Hamano <junkio@cox.net>2007-03-27 12:43:49 -0700
commit0d315468f38729ebb15711349cece98a467032c9 (patch)
tree40184f1d72e66267e82a570c7c27568cbba347fb
parente4d9516b2196623d927e232b4e8766269a837fe6 (diff)
downloadgit-0d315468f38729ebb15711349cece98a467032c9.tar.gz
git-0d315468f38729ebb15711349cece98a467032c9.tar.xz
sha1_file.c (write_sha1_from_fd): Detect close failure.
I stumbled across this in the context of the fchmod 0444 patch. At first, I was going to unlink and call error like the two subsequent tests do, but a failed write (above) provokes a "die", so I made this do the same. This is testing for a write failure, after all. Signed-off-by: Jim Meyering <jim@meyering.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--sha1_file.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sha1_file.c b/sha1_file.c
index 0897b945e..42aef331f 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -2155,7 +2155,8 @@ int write_sha1_from_fd(const unsigned char *sha1, int fd, char *buffer,
inflateEnd(&stream);
fchmod(local, 0444);
- close(local);
+ if (close(local) != 0)
+ die("unable to write sha1 file");
SHA1_Final(real_sha1, &c);
if (ret != Z_STREAM_END) {
unlink(tmpfile);