diff options
| author | Patrick Steinhardt <ps@pks.im> | 2024-05-27 13:46:39 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-05-27 11:20:00 -0700 |
| commit | 1b261c20ed28ad26ddbcd3dff94a248ac6866ac8 (patch) | |
| tree | 2b035eeafac8bc875b83bc643a0bff20aedd53c3 /environment.c | |
| parent | builtin/log: stop using globals for format config (diff) | |
| download | git-1b261c20ed28ad26ddbcd3dff94a248ac6866ac8.tar.gz git-1b261c20ed28ad26ddbcd3dff94a248ac6866ac8.zip | |
config: clarify memory ownership in `git_config_string()`
The out parameter of `git_config_string()` is a `const char **` even
though we transfer ownership of memory to the caller. This is quite
misleading and has led to many memory leaks all over the place. Adapt
the parameter to instead be `char **`.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'environment.c')
| -rw-r--r-- | environment.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/environment.c b/environment.c index ab6956559e..701d515135 100644 --- a/environment.c +++ b/environment.c @@ -42,8 +42,8 @@ int is_bare_repository_cfg = -1; /* unspecified */ int warn_ambiguous_refs = 1; int warn_on_object_refname_ambiguity = 1; int repository_format_precious_objects; -const char *git_commit_encoding; -const char *git_log_output_encoding; +char *git_commit_encoding; +char *git_log_output_encoding; char *apply_default_whitespace; char *apply_default_ignorewhitespace; char *git_attributes_file; @@ -58,8 +58,8 @@ size_t packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE; size_t packed_git_limit = DEFAULT_PACKED_GIT_LIMIT; size_t delta_base_cache_limit = 96 * 1024 * 1024; unsigned long big_file_threshold = 512 * 1024 * 1024; -const char *editor_program; -const char *askpass_program; +char *editor_program; +char *askpass_program; char *excludes_file; enum auto_crlf auto_crlf = AUTO_CRLF_FALSE; enum eol core_eol = EOL_UNSET; |
