summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlosmn@github.com>2016-11-15 16:28:10 +0100
committerGitHub <noreply@github.com>2016-11-15 16:28:10 +0100
commit0cd162be8887069823eb8e987be551fdd593c623 (patch)
treeb69f6d5fdc7de53a2e96a7bfe0c1975958cfb93e
parent1db3035d74a8f734d65b4e779d3e4b22cfd90ebb (diff)
parent613381fc1461514fdbb1518799bcee0345fdece6 (diff)
downloadlibgit2-0cd162be8887069823eb8e987be551fdd593c623.tar.gz
Merge pull request #4008 from pks-t/pks/sortedcache-fd-leak
sortedcache: plug leaked file descriptor
-rw-r--r--src/patch_parse.c4
-rw-r--r--src/sortedcache.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/patch_parse.c b/src/patch_parse.c
index 7a4fe9f1a..f5275947d 100644
--- a/src/patch_parse.c
+++ b/src/patch_parse.c
@@ -1014,8 +1014,10 @@ git_patch_parse_ctx *git_patch_parse_ctx_init(
return NULL;
if (content_len) {
- if ((ctx->content = git__malloc(content_len)) == NULL)
+ if ((ctx->content = git__malloc(content_len)) == NULL) {
+ git__free(ctx);
return NULL;
+ }
memcpy((char *)ctx->content, content, content_len);
}
diff --git a/src/sortedcache.c b/src/sortedcache.c
index ed4199b71..5bd989a9f 100644
--- a/src/sortedcache.c
+++ b/src/sortedcache.c
@@ -216,6 +216,7 @@ int git_sortedcache_lockandload(git_sortedcache *sc, git_buf *buf)
if (p_fstat(fd, &st) < 0) {
giterr_set(GITERR_OS, "failed to stat file");
error = -1;
+ (void)p_close(fd);
goto unlock;
}