diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-09-29 11:40:34 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-09-29 11:40:34 -0700 |
| commit | 4bac57bc67fbd3e319c2e70ffad63add6a273f6a (patch) | |
| tree | c30a5f28893af6f1e1e3114adb126160716ada18 /remote.c | |
| parent | 84edf9956893195b260ca20bdca1cfe0dae6d859 (diff) | |
| parent | a04bc71725f27e6210602a981563511925f798b0 (diff) | |
| download | git-4bac57bc67fbd3e319c2e70ffad63add6a273f6a.tar.xz | |
Merge branch 'jk/setup-revisions-freefix'
There are double frees and leaks around setup_revisions() API used
in "git stash show", which has been fixed, and setup_revisions()
API gained a wrapper to make it more ergonomic when using it with
strvec-manged argc/argv pairs.
* jk/setup-revisions-freefix:
revision: retain argv NULL invariant in setup_revisions()
treewide: pass strvecs around for setup_revisions_from_strvec()
treewide: use setup_revisions_from_strvec() when we have a strvec
revision: add wrapper to setup_revisions() from a strvec
revision: manage memory ownership of argv in setup_revisions()
stash: tell setup_revisions() to free our allocated strings
Diffstat (limited to 'remote.c')
| -rw-r--r-- | remote.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -2143,9 +2143,6 @@ static int stat_branch_pair(const char *branch_name, const char *base, struct object_id oid; struct commit *ours, *theirs; struct rev_info revs; - struct setup_revision_opt opt = { - .free_removed_argv_elements = 1, - }; struct strvec argv = STRVEC_INIT; /* Cannot stat if what we used to build on no longer exists */ @@ -2180,7 +2177,7 @@ static int stat_branch_pair(const char *branch_name, const char *base, strvec_push(&argv, "--"); repo_init_revisions(the_repository, &revs, NULL); - setup_revisions(argv.nr, argv.v, &revs, &opt); + setup_revisions_from_strvec(&argv, &revs, NULL); if (prepare_revision_walk(&revs)) die(_("revision walk setup failed")); |
