On Thu, Aug 15, 2019 at 02:40:50PM -0700, Elijah Newren wrote: > diff --git a/merge-recursive.c b/merge-recursive.c > static void merge_finalize(struct merge_options *opt) > { > flush_output(opt); > - if (!opt->call_depth && opt->buffer_output < 2) > + if (!opt->priv->call_depth && opt->buffer_output < 2) > strbuf_release(&opt->obuf); > if (show(opt, 2)) > diff_warn_rename_limit("merge.renamelimit", > - opt->needed_rename_limit, 0); > + opt->priv->needed_rename_limit, 0); > + free(opt->priv); > + opt->priv = NULL; Coccinelle suggests FREE_AND_NULL(opt->priv) here.