diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2022-03-04 19:32:12 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-03-04 13:24:18 -0800 |
commit | 4a0479086a9bea5d31c4588b07bd45ae92a12b71 (patch) | |
tree | eb7ac9339c612692ca0edc1a183fc5dd176013bd /builtin/diff.c | |
parent | submodule--helper: fix trivial leak in module_add() (diff) | |
download | tgif-4a0479086a9bea5d31c4588b07bd45ae92a12b71.tar.xz |
commit-graph: fix memory leak in misused string_list API
When this code was migrated to the string_list API in
d88b14b3fd6 (commit-graph: use string-list API for input, 2018-06-27)
it was made to use used both STRING_LIST_INIT_NODUP and a
strbuf_detach() pattern.
Those should not be used together if string_list_clear() is expected
to free the memory, instead we need to either use STRING_LIST_INIT_DUP
with a string_list_append_nodup(), or a STRING_LIST_INIT_NODUP and
manually fiddle with the "strdup_strings" member before calling
string_list_clear(). Let's do the former.
Since "strdup_strings = 1" is set now other code might be broken by
relying on "pack_indexes" not to duplicate it strings, but that
doesn't happen. When we pass this down to write_commit_graph() that
code uses the "struct string_list" without modifying it. Let's add a
"const" to the variable to have the compiler enforce that assumption.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/diff.c')
0 files changed, 0 insertions, 0 deletions