Diff options
| author | Bryce Kwon <bryce@brycekwon.com> | |
|---|---|---|
| committer | Bryce Kwon <bryce@brycekwon.com> | |
| commit | ||
| parent | ||
| tree | ||
| download | ||
Release only finished walks, never cgit's mailmap
release_revisions frees revs->mailmap, and the log page points it at the
static list cgit_mailmap returns, so every log of a repository with
enable-mailmap aborted. A walk whose setup failed holds commits that are
already freed, so releasing it could free them twice.
Diffstat (limited to 'source/ui-log.c')
| -rw-r--r-- | source/ui-log.c | 4 |
1 file changed, 3 insertions, 1 deletion
diff --git a/source/ui-log.c b/source/ui-log.c index ef52951..5b3a88a 100644 --- a/source/ui-log.c +++ b/source/ui-log.c @@ -612,8 +612,10 @@ void cgit_print_log(const char *tip, int ofs, int cnt, const char *grep, const c html("</tbody>\n"); } -out: + // The mailmap is cgit's own and outlives the walk. + rev.mailmap = NULL; release_revisions(&rev); +out: if (must_free_tip) free((char *)tip); strvec_clear(&rev_argv); |
