builtin/blame: fix leaking ignore revs filesps/leakfixes-more
commitfbf7a46d881429ef5495af7bbf3a6c3dacbf80b3
authorPatrick Steinhardt <ps@pks.im>
Tue, 11 Jun 2024 09:21:29 +0000 (11 11:21 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 11 Jun 2024 20:15:08 +0000 (11 13:15 -0700)
tree0762caddb96d527a56611eb19741536a8e0cee00
parent3332f35577ccbb51a50d88d16caafcceaab23767
builtin/blame: fix leaking ignore revs files

When parsing the blame configuration we add "blame.ignoreRevsFile"
configs to a string list. This string list is declared as with `NODUP`,
and thus we hand over the allocated string to that list. We eventually
end up calling `string_list_clear()` on that list, but due to it being
declared as `NODUP` we will not release the associated strings and thus
leak memory.

Fix this issue by setting up the list as `DUP` instead and free the
config string after insertion.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/blame.c
t/t8013-blame-ignore-revs.sh