repository: avoid leaking `fsmonitor` data

The `fsmonitor` repo-setting data is allocated lazily. It needs to be released in `repo_clear()` along the rest of the allocated data in `repository`. This is needed because the next commit will merge v2.39.4, which will add a `git checkout --recurse-modules` call (which would leak memory without this here fix) to an otherwise leak-free test script. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>

Johannes Schindelin committed Apr 12, 2024 at 10:49 UTC 6741e917def23aff497ace35aa34debd1782330a
1 file changed +2
repository.c
+2
index 937fa974b3..3b943d2cb4 100644 --- a/repository.c +++ b/repository.c @@ -271,6 +271,8 @@ void repo_clear(struct repository *repo) parsed_object_pool_clear(repo->parsed_objects); FREE_AND_NULL(repo->parsed_objects); + FREE_AND_NULL(repo->settings.fsmonitor); + if (repo->config) { git_configset_clear(repo->config); FREE_AND_NULL(repo->config);