Commit 73f6da66afae81a806a1596afe55cab058e3df32

Russell Belfer 2012-09-21T10:42:53

Merge pull request #943 from csware/only-close-open-filehandles git_repository_hashfile: Only close file handle if we have a valid one

diff --git a/src/repository.c b/src/repository.c
index 734cab4..1a46db0 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -1384,7 +1384,7 @@ int git_repository_hashfile(
 {
 	int error;
 	git_vector filters = GIT_VECTOR_INIT;
-	git_file fd;
+	git_file fd = -1;
 	git_off_t len;
 	git_buf full_path = GIT_BUF_INIT;
 
@@ -1435,7 +1435,8 @@ int git_repository_hashfile(
 	error = git_odb__hashfd_filtered(out, fd, (size_t)len, type, &filters);
 
 cleanup:
-	p_close(fd);
+	if (fd >= 0)
+		p_close(fd);
 	git_filters_free(&filters);
 	git_buf_free(&full_path);