On 4 May 2018 at 17:34, Johannes Schindelin <johannes.schinde...@gmx.de> wrote:
> @@ -353,6 +358,7 @@ static void output(struct string_list *a, struct 
> string_list *b,
>  int cmd_branch_diff(int argc, const char **argv, const char *prefix)
>  {
>         struct diff_options diffopt = { NULL };
> +       struct strbuf four_spaces = STRBUF_INIT;
>         double creation_weight = 0.6;
>         struct option options[] = {
>                 OPT_SET_INT(0, "no-patches", &diffopt.output_format,
> @@ -371,6 +377,9 @@ int cmd_branch_diff(int argc, const char **argv, const 
> char *prefix)
>
>         diff_setup(&diffopt);
>         diffopt.output_format = DIFF_FORMAT_PATCH;
> +       diffopt.output_prefix = output_prefix_cb;
> +       strbuf_addstr(&four_spaces, "    ");
> +       diffopt.output_prefix_data = &four_spaces;
>
>         argc = parse_options(argc, argv, NULL, options,
>                         builtin_branch_diff_usage, PARSE_OPT_KEEP_UNKNOWN);

You end up leaking the buffer of `four_spaces`. Granted, that's not a
big memory leak, but still. ;-) This was the only leak that
LeakSanitizer found in v2 when running the new test-script and playing
around with this a bit. This looks really good!

Martin

Reply via email to