[PATCH v4 24/25] show_worktree(): plug memory leak
From: Johannes Schindelin <hidden>
Date: 2017-05-04 13:59:38
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Johannes Schindelin <hidden>
Date: 2017-05-04 13:59:38
Subsystem:
the rest · Maintainer:
Linus Torvalds
The buffer allocated by shorten_unambiguous_ref() needs to be released. Discovered by Coverity. Signed-off-by: Johannes Schindelin <redacted> --- builtin/worktree.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 1722a9bdc2a..ff5dfd2b102 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c@@ -414,9 +414,11 @@ static void show_worktree(struct worktree *wt, int path_maxlen, int abbrev_len) find_unique_abbrev(wt->head_sha1, DEFAULT_ABBREV)); if (wt->is_detached) strbuf_addstr(&sb, "(detached HEAD)"); - else if (wt->head_ref) - strbuf_addf(&sb, "[%s]", shorten_unambiguous_ref(wt->head_ref, 0)); - else + else if (wt->head_ref) { + char *ref = shorten_unambiguous_ref(wt->head_ref, 0); + strbuf_addf(&sb, "[%s]", ref); + free(ref); + } else strbuf_addstr(&sb, "(error)"); } printf("%s\n", sb.buf);
--
2.12.2.windows.2.800.gede8f145e06