summaryrefslogtreecommitdiffstats
path: root/refs.c
diff options
context:
space:
mode:
authorBrandon Casey <drafnel@gmail.com>2009-07-16 23:25:18 +0200
committerJunio C Hamano <gitster@pobox.com>2009-07-17 00:07:24 +0200
commit9d33f7c22fda81f7be8a7aa1576e6d399d3b45ec (patch)
tree67c4fcdb7842a93fe70202d0a032adf0e1a7c089 /refs.c
parentMerge branch 'cb/maint-fetch-refspec-wo-dst' into maint (diff)
downloadgit-9d33f7c22fda81f7be8a7aa1576e6d399d3b45ec.tar.xz
git-9d33f7c22fda81f7be8a7aa1576e6d399d3b45ec.zip
refs.c: release file descriptor on error return
Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.c')
-rw-r--r--refs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/refs.c b/refs.c
index 90163bdc56..bb0762ee2b 100644
--- a/refs.c
+++ b/refs.c
@@ -1525,8 +1525,10 @@ int for_each_recent_reflog_ent(const char *ref, each_reflog_ent_fn fn, long ofs,
if (fstat(fileno(logfp), &statbuf) ||
statbuf.st_size < ofs ||
fseek(logfp, -ofs, SEEK_END) ||
- fgets(buf, sizeof(buf), logfp))
+ fgets(buf, sizeof(buf), logfp)) {
+ fclose(logfp);
return -1;
+ }
}
while (fgets(buf, sizeof(buf), logfp)) {