From 58a3b2b273cf24d8d1f5e4d6468eeae2c3901632 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 19 Apr 2017 17:04:22 +0200 Subject: [PATCH] receive-pack: plug memory leak in update() Reported via Coverity. Signed-off-by: Johannes Schindelin --- builtin/receive-pack.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index b618d52139..b184886345 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -984,7 +984,8 @@ static const char *update(struct command *cmd, struct shallow_info *si) { const char *name = cmd->ref_name; struct strbuf namespaced_name_buf = STRBUF_INIT; - const char *namespaced_name, *ret; + static char *namespaced_name; + const char *ret; unsigned char *old_sha1 = cmd->old_sha1; unsigned char *new_sha1 = cmd->new_sha1; @@ -995,6 +996,7 @@ static const char *update(struct command *cmd, struct shallow_info *si) } strbuf_addf(&namespaced_name_buf, "%s%s", get_git_namespace(), name); + free(namespaced_name); namespaced_name = strbuf_detach(&namespaced_name_buf, NULL); if (is_ref_checked_out(namespaced_name)) {