Merge branch 'ab/plug-leak-in-revisions'
Plug the memory leaks from the trickiest API of all, the revision walker. * ab/plug-leak-in-revisions: (27 commits) revisions API: add a TODO for diff_free(&revs->diffopt) revisions API: have release_revisions() release "topo_walk_info" revisions API: have release_revisions() release "date_mode" revisions API: call diff_free(&revs->pruning) in revisions_release() revisions API: release "reflog_info" in release revisions() revisions API: clear "boundary_commits" in release_revisions() revisions API: have release_revisions() release "prune_data" revisions API: have release_revisions() release "grep_filter" revisions API: have release_revisions() release "filter" revisions API: have release_revisions() release "cmdline" revisions API: have release_revisions() release "mailmap" revisions API: have release_revisions() release "commits" revisions API users: use release_revisions() for "prune_data" users revisions API users: use release_revisions() with UNLEAK() revisions API users: use release_revisions() in builtin/log.c revisions API users: use release_revisions() in http-push.c revisions API users: add "goto cleanup" for release_revisions() stash: always have the owner of "stash_info" free it revisions API users: use release_revisions() needing REV_INFO_INIT revision.[ch]: document and move code declared around "init" ...
This commit is contained in:
@ -629,7 +629,7 @@ static void show_local_changes(struct object *head,
|
||||
diff_setup_done(&rev.diffopt);
|
||||
add_pending_object(&rev, head, NULL);
|
||||
run_diff_index(&rev, 0);
|
||||
object_array_clear(&rev.pending);
|
||||
release_revisions(&rev);
|
||||
}
|
||||
|
||||
static void describe_detached_head(const char *msg, struct commit *commit)
|
||||
@ -1082,6 +1082,7 @@ static void orphaned_commit_warning(struct commit *old_commit, struct commit *ne
|
||||
|
||||
/* Clean up objects used, as they will be reused. */
|
||||
repo_clear_commit_marks(the_repository, ALL_REV_FLAGS);
|
||||
release_revisions(&revs);
|
||||
}
|
||||
|
||||
static int switch_branches(const struct checkout_opts *opts,
|
||||
|
Reference in New Issue
Block a user