summaryrefslogtreecommitdiff
path: root/builtin/mktree.c
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2017-05-04 13:57:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-05-08 03:18:19 (GMT)
commit43e61e715283ba3e6cfe5ebf9e831e1d96cec399 (patch)
treed45221e94df4145c8a9cbcfd5ab146d0d5ae4000 /builtin/mktree.c
parent077a34e0b9401f9bcea991d850f1111a70e7d3d1 (diff)
downloadgit-43e61e715283ba3e6cfe5ebf9e831e1d96cec399.zip
git-43e61e715283ba3e6cfe5ebf9e831e1d96cec399.tar.gz
git-43e61e715283ba3e6cfe5ebf9e831e1d96cec399.tar.bz2
mktree: plug memory leaks reported by Coverity
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/mktree.c')
-rw-r--r--builtin/mktree.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/builtin/mktree.c b/builtin/mktree.c
index de9b40f..da0fd8c 100644
--- a/builtin/mktree.c
+++ b/builtin/mktree.c
@@ -72,7 +72,7 @@ static void mktree_line(char *buf, size_t len, int nul_term_line, int allow_miss
unsigned mode;
enum object_type mode_type; /* object type derived from mode */
enum object_type obj_type; /* object type derived from sha */
- char *path;
+ char *path, *to_free = NULL;
unsigned char sha1[20];
ptr = buf;
@@ -102,7 +102,7 @@ static void mktree_line(char *buf, size_t len, int nul_term_line, int allow_miss
struct strbuf p_uq = STRBUF_INIT;
if (unquote_c_style(&p_uq, path, NULL))
die("invalid quoting");
- path = strbuf_detach(&p_uq, NULL);
+ path = to_free = strbuf_detach(&p_uq, NULL);
}
/*
@@ -136,6 +136,7 @@ static void mktree_line(char *buf, size_t len, int nul_term_line, int allow_miss
}
append_to_tree(mode, sha1, path);
+ free(to_free);
}
int cmd_mktree(int ac, const char **av, const char *prefix)