From: Jim Meyering Date: Mon, 26 Mar 2007 13:57:23 +0000 (+0200) Subject: sha1_file.c (write_sha1_from_fd): Detect close failure. X-Git-Tag: v1.5.1-rc3~20 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0d315468f38729ebb15711349cece98a467032c9;p=git.git 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 Signed-off-by: Junio C Hamano --- 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);