Re: [PATCH] builtin/init-db: preemptively clear repo_fmt to avoid leaks
From: Andrzej Hunt <hidden>
Date: 2021-05-06 05:41:37
Hi Johannes, On 05/05/2021 21:28, Johannes Schindelin wrote:
Hi Andrzej, On Wed, 5 May 2021, Andrzej Hunt via GitGitGadget wrote:quoted
diff --git a/builtin/init-db.c b/builtin/init-db.c index 31b718259a64..b25147ebaf59 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c@@ -512,6 +512,7 @@ int init_db(const char *git_dir, const char *real_git_dir, git_dir, len && git_dir[len-1] != '/' ? "/" : ""); } + clear_repository_format(&repo_fmt);I am afraid that this might not be correct, as t0410.27 experienced a segmentation fault (see https://github.com/git/git/pull/1018/checks?check_run_id=2511749719#step:5:2845 for the full details):
Thanks for spotting that. On further investigation this looks like a preexisting issue on seen (my github PR was based on seen - in hindsight that was probably not a good idea) - here's a CI run from seen this morning exhibiting the same failure: https://github.com/git/git/runs/2515095446?check_suite_focus=true To gain more confidence, I've rebased my patch onto next, and I no longer hit any CI failures: https://github.com/ahunt/git/runs/2515309312?check_suite_focus=true (I ran this on my fork because changing the base branch appears to have confused the PR's CI configuration.) Nevertheless, I was still curious about what might be causing the failure in the first place: it appears to only happen in CI with gcc on Linux, and I was not able to repro on my machine using (tested with gcc-7.5 and gcc-10, with seen from this morning): make CC=gcc-10 T=t0410-partial-clone.sh test I'm guessing that understanding this failure might require the help of someone with an Ubuntu install to debug (unless there's some easy way of using Github's Actions to run a bisect)? -- snip -- ATB, Andrzej