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>
This commit is contained in:
Johannes Schindelin 2024-04-12 10:49:58 +02:00
parent 0d1bd1dfb3
commit 6741e917de

View File

@ -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);