]> git.ipfire.org Git - thirdparty/git.git/commitdiff
revisions API users: use release_revisions() in http-push.c
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Wed, 13 Apr 2022 20:01:41 +0000 (22:01 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 14 Apr 2022 06:56:09 +0000 (23:56 -0700)
In the case of cmd_main() in http-push.c we need to move the
deceleration of the "struct rev-list" into the loop over the
"remote_refs" when adding a release_revisions().

We'd previously set up the "revs" for each remote, but would
potentially leak memory on each one.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http-push.c

index f0c044dcf7661a37b2a03f59e11f9e0bcefba0ea..01e7c2ac5c8389983e27362f16e7ac9543eff11c 100644 (file)
@@ -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 */