Elijah Newren <newren@xxxxxxxxx> writes: > merge_options has several internal fields that should not be set or read > by external callers. This just complicates the API. Move them into an > opaque merge_options_internal struct that is defined only in > merge-recursive.c and keep these out of merge-recursive.h. > > Signed-off-by: Elijah Newren <newren@xxxxxxxxx> > --- > merge-recursive.c | 186 ++++++++++++++++++++++++---------------------- > merge-recursive.h | 17 ++--- > 2 files changed, 106 insertions(+), 97 deletions(-) > > diff --git a/merge-recursive.c b/merge-recursive.c > index b4334d0506..840b09f1dc 100644 > --- a/merge-recursive.c > +++ b/merge-recursive.c > @@ -3617,17 +3627,21 @@ static int merge_start(struct merge_options *opt, struct tree *he> ... > - opt->needed_rename_limit, 0); > + opt->priv->needed_rename_limit, 0); > + free(opt->priv); > + opt->priv = NULL; This gets hit by Cocci.