# [PATCH] diff-lib: stop calling diff_setup_done() in do_diff_cache()

1 messages from 2024-05-01 to 2024-05-01. Participants: René Scharfe.
Thread: https://gitlist.dev/t/61402

## René Scharfe, 2024-05-01 10:26

Subject: [PATCH] diff-lib: stop calling diff_setup_done() in do_diff_cache()
Message-ID: <0e96c5a3-7b4d-4c6b-875e-d80e3eb07a00@web.de>
URL: https://gitlist.dev/e/0e96c5a3-7b4d-4c6b-875e-d80e3eb07a00%40web.de

```
d44e5267ea (diff-lib: plug minor memory leaks in do_diff_cache(),
2020-11-14) added the call to diff_setup_done() to release the memory
of the parseopt member of struct diff_options that repo_init_revisions()
had allocated via repo_diff_setup() and prep_parse_options().

189e97bc4b (diff: remove parseopts member from struct diff_options,
2022-12-01) did away with that allocation; diff_setup_done() doesn't
release any memory anymore.  So stop calling this function on the blank
diffopt member before it is overwritten, as this is no longer necessary.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 diff-lib.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/diff-lib.c b/diff-lib.c
index 683f11e509..12b1541478 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -660,7 +660,6 @@ int do_diff_cache(const struct object_id *tree_oid, struct diff_options *opt)

 	repo_init_revisions(opt->repo, &revs, NULL);
 	copy_pathspec(&revs.prune_data, &opt->pathspec);
-	diff_setup_done(&revs.diffopt);
 	revs.diffopt = *opt;

 	if (diff_cache(&revs, tree_oid, NULL, 1))
--
2.44.0

```
