Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > The buffer allocated by shorten_unambiguous_ref() needs to be released. Yes. Looks good. > > Discovered by Coverity. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > 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);