aboutsummaryrefslogtreecommitdiff
path: root/builtin-rerere.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2007-06-24 21:20:41 +0200
committerJunio C Hamano <gitster@pobox.com>2007-06-26 21:48:53 -0700
commit91c8d5905c33e9d7c9014a1c6c7cec8eb86584df (patch)
treec3dbbc16aa7df268aae8962bc4cac367fc5c51ca /builtin-rerere.c
parent2275d502114c71045af991697048191fed88aac4 (diff)
downloadgit-91c8d5905c33e9d7c9014a1c6c7cec8eb86584df.tar.gz
git-91c8d5905c33e9d7c9014a1c6c7cec8eb86584df.tar.xz
detect close failure on just-written file handles
I audited git for potential undetected write failures. In the cases fixed below, the diagnostics I add mimic the diagnostics used in surrounding code, even when that means not reporting the precise strerror(errno) cause of the error. Signed-off-by: Jim Meyering <jim@meyering.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-rerere.c')
-rw-r--r--builtin-rerere.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/builtin-rerere.c b/builtin-rerere.c
index f6409b93c..29fb075d2 100644
--- a/builtin-rerere.c
+++ b/builtin-rerere.c
@@ -57,7 +57,8 @@ static int write_rr(struct path_list *rr, int out_fd)
write_in_full(out_fd, path, length) != length)
die("unable to write rerere record");
}
- close(out_fd);
+ if (close(out_fd) != 0)
+ die("unable to write rerere record");
return commit_lock_file(&write_lock);
}