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:
@ -596,6 +596,7 @@ static int bisect_skipped_commits(struct bisect_terms *terms)
|
||||
reset_revision_walk();
|
||||
|
||||
strbuf_release(&commit_name);
|
||||
release_revisions(&revs);
|
||||
fclose(fp);
|
||||
return 0;
|
||||
}
|
||||
@ -1084,6 +1085,7 @@ static enum bisect_error bisect_skip(struct bisect_terms *terms, const char **ar
|
||||
oid_to_hex(&commit->object.oid));
|
||||
|
||||
reset_revision_walk();
|
||||
release_revisions(&revs);
|
||||
} else {
|
||||
strvec_push(&argv_state, argv[i]);
|
||||
}
|
||||
|
Reference in New Issue
Block a user