diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2022-11-08 19:17:47 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-11-21 12:32:48 +0900 |
commit | dd4143e7bf406a5907ef86c50c77c4667f62375d (patch) | |
tree | a4a9009f33b1525555bb4b99efb31303aa7c6641 /connected.c | |
parent | f1f4ebf432978eb363ed210d0de40f5826ff91e5 (diff) | |
download | git-dd4143e7bf406a5907ef86c50c77c4667f62375d.tar.gz |
connected.c: free the "struct packed_git"
The "new_pack" we allocate in check_connected() wasn't being
free'd. Let's do that before we return from the function. This has
leaked ever since "new_pack" was added to this function in
c6807a40dcd (clone: open a shortcut for connectivity check,
2013-05-26).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Diffstat (limited to 'connected.c')
-rw-r--r-- | connected.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/connected.c b/connected.c index 74a20cb32e..b7770825c7 100644 --- a/connected.c +++ b/connected.c @@ -85,6 +85,7 @@ int check_connected(oid_iterate_fn fn, void *cb_data, promisor_pack_found: ; } while ((oid = fn(cb_data)) != NULL); + free(new_pack); return 0; } @@ -118,8 +119,10 @@ no_promisor_pack_found: else rev_list.no_stderr = opt->quiet; - if (start_command(&rev_list)) + if (start_command(&rev_list)) { + free(new_pack); return error(_("Could not run 'git rev-list'")); + } sigchain_push(SIGPIPE, SIG_IGN); @@ -151,5 +154,6 @@ no_promisor_pack_found: err = error_errno(_("failed to close rev-list's stdin")); sigchain_pop(SIGPIPE); + free(new_pack); return finish_command(&rev_list) || err; } |