On Tue, Jan 24, 2017 at 4:46 PM, Brandon Williams <bmwill@xxxxxxxxxx> wrote: > On 01/24, Stefan Beller wrote: >> + connect_work_tree_and_git_dir(path, real_new_git_dir); > > Memory leak with 'real_new_git_dir' yup. :( > The scope of 'real_sub_git_dir' and 'real_common_git_dir' variable can > be narrowed. Move their declaration here and free it prior to exiting > the else block. ok. > 'v' isn't ever used, just use starts_with() and get rid of 'v' makes sense. > >> + relocate_single_git_dir_into_superproject(prefix, path); >> + } >> > > There's a label 'out' at the end of the function which can be removed as > there is no 'goto' statement using it. We do use it in if (err_code == READ_GITFILE_ERR_STAT_FAILED) goto out; /* unpopulated as expected */ I took your proposed SQUASH and removed the goto, see the followup email.