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:
@@ -1689,7 +1689,6 @@ int cmd_main(int argc, const char **argv)
|
||||
struct refspec rs = REFSPEC_INIT_PUSH;
|
||||
struct remote_lock *ref_lock = NULL;
|
||||
struct remote_lock *info_ref_lock = NULL;
|
||||
struct rev_info revs;
|
||||
int delete_branch = 0;
|
||||
int force_delete = 0;
|
||||
int objects_to_send;
|
||||
@@ -1825,6 +1824,7 @@ int cmd_main(int argc, const char **argv)
|
||||
|
||||
new_refs = 0;
|
||||
for (ref = remote_refs; ref; ref = ref->next) {
|
||||
struct rev_info revs;
|
||||
struct strvec commit_argv = STRVEC_INIT;
|
||||
|
||||
if (!ref->peer_ref)
|
||||
@@ -1941,6 +1941,7 @@ int cmd_main(int argc, const char **argv)
|
||||
unlock_remote(ref_lock);
|
||||
check_locks();
|
||||
strvec_clear(&commit_argv);
|
||||
release_revisions(&revs);
|
||||
}
|
||||
|
||||
/* Update remote server info if appropriate */
|
||||
|
||||
Reference in New Issue
Block a user