aboutsummaryrefslogtreecommitdiffstats
path: root/builtin/push.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-09-20 11:16:30 -0700
committerJunio C Hamano <gitster@pobox.com>2024-09-20 11:16:30 -0700
commit16c0906e8cd9b32b95dfe68058bcdaad3e4458e4 (patch)
tree5eb2fce820151a347514e6a60c9162c10184256e /builtin/push.c
parentMerge branch 'pw/rebase-autostash-fix' (diff)
parentbuiltin/repack: fix leaking keep-pack list (diff)
downloadgit-16c0906e8cd9b32b95dfe68058bcdaad3e4458e4.tar.gz
git-16c0906e8cd9b32b95dfe68058bcdaad3e4458e4.zip
Merge branch 'ps/leakfixes-part-6'
More leakfixes. * ps/leakfixes-part-6: (22 commits) builtin/repack: fix leaking keep-pack list merge-ort: fix two leaks when handling directory rename modifications match-trees: fix leaking prefixes in `shift_tree()` builtin/fmt-merge-msg: fix leaking buffers builtin/grep: fix leaking object context builtin/pack-objects: plug leaking list of keep-packs builtin/repack: fix leaking line buffer when packing promisors negotiator/skipping: fix leaking commit entries shallow: fix leaking members of `struct shallow_info` shallow: free grafts when unregistering them object: clear grafts when clearing parsed object pool gpg-interface: fix misdesigned signing key interfaces send-pack: fix leaking push cert nonce remote: fix leak in reachability check of a remote-tracking ref remote: fix leaking tracking refs builtin/submodule--helper: fix leaking refs on push-check submodule: fix leaking fetch task data upload-pack: fix leaking child process data on reachability checks builtin/push: fix leaking refspec query result send-pack: fix leaking common object IDs ...
Diffstat (limited to 'builtin/push.c')
-rw-r--r--builtin/push.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/builtin/push.c b/builtin/push.c
index 7a67398124..0b123eb9c1 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -72,13 +72,15 @@ static void refspec_append_mapped(struct refspec *refspec, const char *ref,
const char *branch_name;
if (remote->push.nr) {
- struct refspec_item query;
- memset(&query, 0, sizeof(struct refspec_item));
- query.src = matched->name;
+ struct refspec_item query = {
+ .src = matched->name,
+ };
+
if (!query_refspecs(&remote->push, &query) && query.dst) {
refspec_appendf(refspec, "%s%s:%s",
query.force ? "+" : "",
query.src, query.dst);
+ free(query.dst);
return;
}
}