Browse Source

Merge branch 'ab/diff-free-more'

Leakfixes.

* ab/diff-free-more:
  diff.[ch]: have diff_free() free options->parseopts
  diff.[ch]: have diff_free() call clear_pathspec(opts.pathspec)
maint
Junio C Hamano 3 years ago
parent
commit
362f869ff2
  1. 6
      add-interactive.c
  2. 3
      blame.c
  3. 1
      builtin/reset.c
  4. 2
      diff.c
  5. 2
      notes-merge.c

6
add-interactive.c

@ -797,14 +797,14 @@ static int run_revert(struct add_i_state *s, const struct pathspec *ps, @@ -797,14 +797,14 @@ static int run_revert(struct add_i_state *s, const struct pathspec *ps,
diffopt.flags.override_submodule_config = 1;
diffopt.repo = s->r;

if (do_diff_cache(&oid, &diffopt))
if (do_diff_cache(&oid, &diffopt)) {
diff_free(&diffopt);
res = -1;
else {
} else {
diffcore_std(&diffopt);
diff_flush(&diffopt);
}
free(paths);
clear_pathspec(&diffopt.pathspec);

if (!res && write_locked_index(s->r->index, &index_lock,
COMMIT_LOCK) < 0)

3
blame.c

@ -1403,7 +1403,6 @@ static struct blame_origin *find_origin(struct repository *r, @@ -1403,7 +1403,6 @@ static struct blame_origin *find_origin(struct repository *r,
}
}
diff_flush(&diff_opts);
clear_pathspec(&diff_opts.pathspec);
return porigin;
}

@ -1447,7 +1446,6 @@ static struct blame_origin *find_rename(struct repository *r, @@ -1447,7 +1446,6 @@ static struct blame_origin *find_rename(struct repository *r,
}
}
diff_flush(&diff_opts);
clear_pathspec(&diff_opts.pathspec);
return porigin;
}

@ -2328,7 +2326,6 @@ static void find_copy_in_parent(struct blame_scoreboard *sb, @@ -2328,7 +2326,6 @@ static void find_copy_in_parent(struct blame_scoreboard *sb,
} while (unblamed);
target->suspects = reverse_blame(leftover, NULL);
diff_flush(&diff_opts);
clear_pathspec(&diff_opts.pathspec);
}

/*

1
builtin/reset.c

@ -280,7 +280,6 @@ static int read_from_tree(const struct pathspec *pathspec, @@ -280,7 +280,6 @@ static int read_from_tree(const struct pathspec *pathspec,
return 1;
diffcore_std(&opt);
diff_flush(&opt);
clear_pathspec(&opt.pathspec);

return 0;
}

2
diff.c

@ -6452,6 +6452,8 @@ void diff_free(struct diff_options *options) @@ -6452,6 +6452,8 @@ void diff_free(struct diff_options *options)

diff_free_file(options);
diff_free_ignore_regex(options);
clear_pathspec(&options->pathspec);
FREE_AND_NULL(options->parseopts);
}

void diff_flush(struct diff_options *options)

2
notes-merge.c

@ -175,7 +175,6 @@ static struct notes_merge_pair *diff_tree_remote(struct notes_merge_options *o, @@ -175,7 +175,6 @@ static struct notes_merge_pair *diff_tree_remote(struct notes_merge_options *o,
oid_to_hex(&mp->remote));
}
diff_flush(&opt);
clear_pathspec(&opt.pathspec);

*num_changes = len;
return changes;
@ -261,7 +260,6 @@ static void diff_tree_local(struct notes_merge_options *o, @@ -261,7 +260,6 @@ static void diff_tree_local(struct notes_merge_options *o,
oid_to_hex(&mp->local));
}
diff_flush(&opt);
clear_pathspec(&opt.pathspec);
}

static void check_notes_merge_worktree(struct notes_merge_options *o)

Loading…
Cancel
Save