Hi Teng, On Tue, 4 Jan 2022, Johannes Schindelin wrote: > -- snip -- > diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c > index 6e3e5a4d0634..8301d1a15f9a 100644 > --- a/builtin/ls-tree.c > +++ b/builtin/ls-tree.c > @@ -75,7 +75,7 @@ static void expand_objectsize(struct strbuf *line, const struct object_id *oid, > else > strbuf_addf(line, "%" PRIuMAX, (uintmax_t)size); > } else if (padded) { > - strbuf_addf(line, "%7s", "-"); > + strbuf_addstr(line, "-"); > } else { > strbuf_addstr(line, "-"); > } > @@ -110,7 +110,7 @@ static size_t expand_show_tree(struct strbuf *line, const char *start, > } else if (skip_prefix(start, "(size)", &p)) { > expand_objectsize(line, data->oid, data->type, 0); > } else if (skip_prefix(start, "(object)", &p)) { > - strbuf_addstr(line, find_unique_abbrev(data->oid, abbrev)); > + strbuf_add_unique_abbrev(line, data->oid, abbrev); > } else if (skip_prefix(start, "(file)", &p)) { > const char *name = data->base->buf; > const char *prefix = chomp_prefix ? ls_tree_prefix : NULL; > @@ -119,7 +119,7 @@ static size_t expand_show_tree(struct strbuf *line, const char *start, > strbuf_addstr(data->base, data->pathname); > name = relative_path(data->base->buf, prefix, &sb); > quote_c_style(name, "ed, NULL, 0); > - strbuf_addstr(line, quoted.buf); > + strbuf_addbuf(line, "ed); > } else { > errlen = (unsigned long)len; > die(_("bad ls-tree format: %%%.*s"), errlen, start); > -- snap -- In addition to that, you need these to quiet down the `linux-leaks` job of our CI build, which is also failing with your patches: -- snipsnap -- diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index 8301d1a15f9a..0dc0327e4785 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -120,6 +120,8 @@ static size_t expand_show_tree(struct strbuf *line, const char *start, name = relative_path(data->base->buf, prefix, &sb); quote_c_style(name, "ed, NULL, 0); strbuf_addbuf(line, "ed); + strbuf_release(&sb); + strbuf_release("ed); } else { errlen = (unsigned long)len; die(_("bad ls-tree format: %%%.*s"), errlen, start); @@ -197,6 +199,7 @@ static int show_tree_fmt(const struct object_id *oid, struct strbuf *base, strbuf_expand(&line, format, expand_show_tree, &data); strbuf_addch(&line, line_termination); fwrite(line.buf, line.len, 1, stdout); + strbuf_release(&line); strbuf_setlen(base, baselen); return retval; }