Merge branch 'ah/plugleaks'
Leak plugging. * ah/plugleaks: reset: clear_unpack_trees_porcelain to plug leak builtin/rebase: fix options.strategy memory lifecycle builtin/merge: free found_ref when done builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv convert: release strbuf to avoid leak read-cache: call diff_setup_done to avoid leak ref-filter: also free head for ATOM_HEAD to avoid leak diffcore-rename: move old_dir/new_dir definition to plug leak builtin/for-each-repo: remove unnecessary argv copy to plug leak builtin/submodule--helper: release unused strbuf to avoid leak environment: move strbuf into block to plug leak fmt-merge-msg: free newly allocated temporary strings when done
This commit is contained in:
@ -2226,8 +2226,12 @@ void ref_array_clear(struct ref_array *array)
|
||||
FREE_AND_NULL(array->items);
|
||||
array->nr = array->alloc = 0;
|
||||
|
||||
for (i = 0; i < used_atom_cnt; i++)
|
||||
free((char *)used_atom[i].name);
|
||||
for (i = 0; i < used_atom_cnt; i++) {
|
||||
struct used_atom *atom = &used_atom[i];
|
||||
if (atom->atom_type == ATOM_HEAD)
|
||||
free(atom->u.head);
|
||||
free((char *)atom->name);
|
||||
}
|
||||
FREE_AND_NULL(used_atom);
|
||||
used_atom_cnt = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user