aboutsummaryrefslogtreecommitdiffstats
path: root/ui-log.c
diff options
context:
space:
mode:
authorJohn Keeping2022-02-13 15:34:50 +0000
committerYigit Sever2023-07-21 03:03:51 +0300
commitd4d0a488eb6f9456df2fa7fc9348c5076ee7dfab (patch)
tree96f7f7aa09047ea99e12d35bf5bd76555b7583d0 /ui-log.c
parent443ec893ab98238a6327a40e61633a53ab95b86c (diff)
downloadcgit-d4d0a488eb6f9456df2fa7fc9348c5076ee7dfab.tar.gz
cgit-d4d0a488eb6f9456df2fa7fc9348c5076ee7dfab.tar.bz2
cgit-d4d0a488eb6f9456df2fa7fc9348c5076ee7dfab.zip
global: use release_commit_memory()
Instead of calling two separate Git functions to free memory associated with a commit object, use Git's wrapper which does this. This also counts as a potential future bug fix since release_commit_memory() also resets the parsed state of the commit, meaning any attempt to use it in the future will correctly fill out the fields again. release_commit_memory() does not set parents to zero, so keep that for additional safety in case CGit checks this without calling parse_commit() again. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'ui-log.c')
-rw-r--r--ui-log.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/ui-log.c b/ui-log.c
index 29a99a3..2a02689 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -489,8 +489,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
489 for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; /* nop */) { 489 for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; /* nop */) {
490 if (show_commit(commit, &rev)) 490 if (show_commit(commit, &rev))
491 i++; 491 i++;
492 free_commit_buffer(the_repository->parsed_objects, commit); 492 release_commit_memory(the_repository->parsed_objects, commit);
493 free_commit_list(commit->parents);
494 commit->parents = NULL; 493 commit->parents = NULL;
495 } 494 }
496 495
@@ -511,8 +510,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
511 i++; 510 i++;
512 print_commit(commit, &rev); 511 print_commit(commit, &rev);
513 } 512 }
514 free_commit_buffer(the_repository->parsed_objects, commit); 513 release_commit_memory(the_repository->parsed_objects, commit);
515 free_commit_list(commit->parents);
516 commit->parents = NULL; 514 commit->parents = NULL;
517 } 515 }
518 if (pager) { 516 if (pager) {