Merge branch 'ab/plug-random-leaks'
Plug random memory leaks. * ab/plug-random-leaks: repository.c: free the "path cache" in repo_clear() range-diff: plug memory leak in read_patches() range-diff: plug memory leak in common invocation lockfile API users: simplify and don't leak "path" commit-graph: stop fill_oids_from_packs() progress on error and free() commit-graph: fix memory leak in misused string_list API submodule--helper: fix trivial leak in module_add() transport: stop needlessly copying bundle header references bundle: call strvec_clear() on allocated strvec remote-curl.c: free memory in cmd_main() urlmatch.c: add and use a *_release() function diff.c: free "buf" in diff_words_flush() merge-base: free() allocated "struct commit **" list index-pack: fix memory leaks
This commit is contained in:
16
repository.c
16
repository.c
@ -240,6 +240,20 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void repo_clear_path_cache(struct repo_path_cache *cache)
|
||||
{
|
||||
FREE_AND_NULL(cache->squash_msg);
|
||||
FREE_AND_NULL(cache->squash_msg);
|
||||
FREE_AND_NULL(cache->merge_msg);
|
||||
FREE_AND_NULL(cache->merge_rr);
|
||||
FREE_AND_NULL(cache->merge_mode);
|
||||
FREE_AND_NULL(cache->merge_head);
|
||||
FREE_AND_NULL(cache->merge_autostash);
|
||||
FREE_AND_NULL(cache->auto_merge);
|
||||
FREE_AND_NULL(cache->fetch_head);
|
||||
FREE_AND_NULL(cache->shallow);
|
||||
}
|
||||
|
||||
void repo_clear(struct repository *repo)
|
||||
{
|
||||
FREE_AND_NULL(repo->gitdir);
|
||||
@ -280,6 +294,8 @@ void repo_clear(struct repository *repo)
|
||||
remote_state_clear(repo->remote_state);
|
||||
FREE_AND_NULL(repo->remote_state);
|
||||
}
|
||||
|
||||
repo_clear_path_cache(&repo->cached_paths);
|
||||
}
|
||||
|
||||
int repo_read_index(struct repository *repo)
|
||||
|
||||
Reference in New Issue
Block a user