mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +00:00
builtin/fast-export: fix leaking diff options
Before calling `handle_commit()` in a loop, we set `diffopt.no_free` such that its contents aren't getting freed inside of `handle_commit()`. We never unset that flag though, which means that the structure's allocated resources will ultimately leak. Fix this by unsetting the flag after the loop such that we release its resources via `release_revisions()`. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
0662f0dacb
commit
8ed4e96b5b
1 changed files with 2 additions and 0 deletions
|
@ -1278,9 +1278,11 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
|
|||
revs.diffopt.format_callback = show_filemodify;
|
||||
revs.diffopt.format_callback_data = &paths_of_changed_objects;
|
||||
revs.diffopt.flags.recursive = 1;
|
||||
|
||||
revs.diffopt.no_free = 1;
|
||||
while ((commit = get_revision(&revs)))
|
||||
handle_commit(commit, &revs, &paths_of_changed_objects);
|
||||
revs.diffopt.no_free = 0;
|
||||
|
||||
handle_tags_and_duplicates(&extra_refs);
|
||||
handle_tags_and_duplicates(&tag_refs);
|
||||
|
|
Loading…
Reference in a new issue