summaryrefslogtreecommitdiff
path: root/src/attr_file.c
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2016-02-09 11:11:38 +0100
committerPatrick Steinhardt <ps@pks.im>2016-02-09 11:11:38 +0100
commit24b8ed2b3ae4519e9c56afcfdf1d0f00a2b95842 (patch)
treed078fd490a48a565e151a7f04081a48bc2c8224b /src/attr_file.c
parente26254575306abbc39acd96c6dc54a07aa3b2aa4 (diff)
downloadlibgit2-24b8ed2b3ae4519e9c56afcfdf1d0f00a2b95842.tar.gz
attr_file: fix resource leak
Diffstat (limited to 'src/attr_file.c')
-rw-r--r--src/attr_file.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/attr_file.c b/src/attr_file.c
index 500c99bd9..11d149358 100644
--- a/src/attr_file.c
+++ b/src/attr_file.c
@@ -123,7 +123,7 @@ int git_attr_file__load(
break;
}
case GIT_ATTR_FILE__FROM_FILE: {
- int fd;
+ int fd = -1;
/* For open or read errors, pretend that we got ENOTFOUND. */
/* TODO: issue warning when warning API is available */
@@ -133,7 +133,8 @@ int git_attr_file__load(
(fd = git_futils_open_ro(entry->fullpath)) < 0 ||
(error = git_futils_readbuffer_fd(&content, fd, (size_t)st.st_size)) < 0)
nonexistent = true;
- else
+
+ if (fd >= 0)
p_close(fd);
break;