git/builtin
Patrick Steinhardt 71e01a0ebd builtin/merge: always store allocated strings in `pull_twohead`
The `pull_twohead` configuration may sometimes contain an allocated
string, and sometimes it may contain a string constant. Refactor this to
instead always store an allocated string such that we can release its
resources without risk.

While at it, manage the lifetime of other config strings, as well. Note
that we explicitly don't free `cleanup_arg` here. This is because the
variable may be assigned a string constant via command line options.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-06-07 10:30:56 -07:00
..
add.c Merge branch 'ps/the-index-is-no-more' 2024-05-08 10:18:44 -07:00
am.c Merge branch 'ps/refs-without-the-repository' 2024-05-16 10:10:14 -07:00
annotate.c
apply.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
archive.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:33 -08:00
bisect.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
blame.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
branch.c Merge branch 'kn/ref-transaction-symref' 2024-05-20 11:20:04 -07:00
bugreport.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
bundle.c
cat-file.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
check-attr.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
check-ignore.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
check-mailmap.c
check-ref-format.c
checkout--worker.c
checkout-index.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
checkout.c checkout: clarify memory ownership in `unique_tracking_name()` 2024-05-27 11:19:58 -07:00
clean.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
clone.c refspec: remove global tag refspec structure 2024-06-07 10:30:49 -07:00
column.c column: disallow negative padding 2024-02-13 10:18:50 -08:00
commit-graph.c Merge branch 'ja/doc-placeholders-fix' 2024-02-08 13:20:34 -08:00
commit-tree.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
commit.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
config.c Merge branch 'ps/leakfixes' into ps/no-writable-strings 2024-05-29 09:32:24 -07:00
count-objects.c
credential-cache--daemon.c Merge branch 'bc/credential-scheme-enhancement' 2024-05-08 10:18:44 -07:00
credential-cache.c Merge branch 'bc/credential-scheme-enhancement' 2024-05-08 10:18:44 -07:00
credential-store.c credential: gate new fields on capability 2024-04-16 22:39:06 -07:00
credential.c builtin/credential: clear credential before exit 2024-05-27 11:20:01 -07:00
describe.c Merge branch 'ps/refs-without-the-repository' 2024-05-16 10:10:14 -07:00
diagnose.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
diff-files.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
diff-index.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
diff-tree.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
diff.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
difftool.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
fast-export.c use xstrncmpz() 2024-02-12 09:32:41 -08:00
fast-import.c Merge branch 'kn/ref-transaction-symref' 2024-05-20 11:20:04 -07:00
fetch-pack.c
fetch.c refspec: remove global tag refspec structure 2024-06-07 10:30:49 -07:00
fmt-merge-msg.c
for-each-ref.c ref-filter: properly distinuish pseudo and root refs 2024-05-15 07:30:52 -07:00
for-each-repo.c for-each-repo: optionally keep going on an error 2024-04-24 10:46:03 -07:00
fsck.c cocci: apply rules to rewrite callers of "refs" interfaces 2024-05-07 10:06:59 -07:00
fsmonitor--daemon.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:33 -08:00
gc.c cocci: apply rules to rewrite callers of "refs" interfaces 2024-05-07 10:06:59 -07:00
get-tar-commit-id.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
grep.c Merge branch 'eb/hash-transition' 2024-03-28 14:13:50 -07:00
hash-object.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
help.c
hook.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
index-pack.c unpack: replace xwrite() loop with write_in_full() 2024-03-02 11:12:16 -08:00
init-db.c Sync with 2.40.2 2024-04-19 12:38:42 +02:00
interpret-trailers.c Merge branch 'la/hide-trailer-info' 2024-05-23 11:04:27 -07:00
log.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
ls-files.c factor out strbuf_expand_bad_format() 2024-03-25 11:59:24 -07:00
ls-remote.c Merge branch 'en/header-cleanup' 2024-01-08 14:05:15 -08:00
ls-tree.c Merge branch 'rs/strbuf-expand-bad-format' 2024-04-03 10:56:20 -07:00
mailinfo.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
mailsplit.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
merge-base.c commit-reach(repo_get_merge_bases_many_dirty): pass on errors 2024-02-29 08:06:01 -08:00
merge-file.c
merge-index.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
merge-ours.c
merge-recursive.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
merge-tree.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
merge.c builtin/merge: always store allocated strings in `pull_twohead` 2024-06-07 10:30:56 -07:00
mktag.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:33 -08:00
mktree.c
multi-pack-index.c midx: disable replace objects 2024-04-17 12:35:41 -07:00
mv.c builtin/mv: fix leaks for submodule gitfile paths 2024-05-27 11:20:03 -07:00
name-rev.c cocci: apply rules to rewrite callers of "refs" interfaces 2024-05-07 10:06:59 -07:00
notes.c Merge branch 'kn/ref-transaction-symref' 2024-05-20 11:20:04 -07:00
pack-objects.c Merge branch 'tb/pack-bitmap-write-cleanups' 2024-05-28 11:17:07 -07:00
pack-redundant.c
pack-refs.c builtin/pack-refs: introduce new "--auto" flag 2024-03-25 09:54:07 -07:00
patch-id.c
prune-packed.c
prune.c
pull.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
push.c Merge branch 'en/header-cleanup' into maint-2.43 2024-02-08 16:22:10 -08:00
range-diff.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
read-tree.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
rebase.c builtin/rebase: always store allocated string in `options.strategy` 2024-06-07 10:30:55 -07:00
receive-pack.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
reflog.c cocci: apply rules to rewrite callers of "refs" interfaces 2024-05-07 10:06:59 -07:00
remote-ext.c
remote-fd.c
remote.c builtin/remote: cast away constness in `get_head_names()` 2024-06-07 10:30:50 -07:00
repack.c config: clarify memory ownership in `git_config_string()` 2024-05-27 11:20:00 -07:00
replace.c Merge branch 'kn/ref-transaction-symref' 2024-05-20 11:20:04 -07:00
replay.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
rerere.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
reset.c Merge branch 'ps/refs-without-the-repository' 2024-05-16 10:10:14 -07:00
rev-list.c Merge branch 'jk/pretty-subject-cleanup' 2024-04-01 13:21:34 -07:00
rev-parse.c Merge branch 'ps/refs-without-the-repository' 2024-05-16 10:10:14 -07:00
revert.c global: improve const correctness when assigning string constants 2024-06-07 10:30:48 -07:00
rm.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00
send-pack.c send-pack: always allocate receive status 2024-06-07 10:30:53 -07:00
shortlog.c shortlog: stop setting pp.print_email_subject 2024-03-19 17:54:15 -07:00
show-branch.c cocci: apply rules to rewrite callers of "refs" interfaces 2024-05-07 10:06:59 -07:00
show-index.c
show-ref.c cocci: apply rules to rewrite callers of "refs" interfaces 2024-05-07 10:06:59 -07:00
sparse-checkout.c Merge branch 'en/header-cleanup' into maint-2.43 2024-02-08 16:22:10 -08:00
stash.c Merge branch 'ps/refs-without-the-repository' 2024-05-16 10:10:14 -07:00
stripspace.c strbuf: accept a comment string for strbuf_add_commented_lines() 2024-03-12 13:28:10 -07:00
submodule--helper.c Merge branch 'ps/refs-without-the-repository' 2024-05-16 10:10:14 -07:00
symbolic-ref.c Merge branch 'kn/ref-transaction-symref' 2024-05-20 11:20:04 -07:00
tag.c Merge branch 'kn/ref-transaction-symref' 2024-05-20 11:20:04 -07:00
unpack-file.c
unpack-objects.c unpack: replace xwrite() loop with write_in_full() 2024-03-02 11:12:16 -08:00
update-index.c Merge branch 'ps/refs-without-the-repository' 2024-05-16 10:10:14 -07:00
update-ref.c Merge branch 'kn/ref-transaction-symref' 2024-05-20 11:20:04 -07:00
update-server-info.c
upload-archive.c
upload-pack.c Sync with 2.44.1 2024-04-29 20:42:30 +02:00
var.c config: rename global config function 2024-01-18 12:17:41 -08:00
verify-commit.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
verify-pack.c
verify-tag.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
worktree.c checkout: clarify memory ownership in `unique_tracking_name()` 2024-05-27 11:19:58 -07:00
write-tree.c builtin: stop using `the_index` 2024-04-18 12:30:42 -07:00