Hi Hannes, On Thu, 27 Apr 2017, Johannes Sixt wrote: > Am 26.04.2017 um 22:20 schrieb Johannes Schindelin: > > Reported by Coverity. > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > > --- > > setup.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/setup.c b/setup.c > > index 0309c278218..0320a9ad14c 100644 > > --- a/setup.c > > +++ b/setup.c > > @@ -748,7 +748,7 @@ static const char *setup_bare_git_dir(struct strbuf > > *cwd, int offset, > > > > /* --work-tree is set without --git-dir; use discovered one */ > > if (getenv(GIT_WORK_TREE_ENVIRONMENT) || git_work_tree_cfg) { > > - const char *gitdir; > > + static const char *gitdir; > > > > gitdir = offset == cwd->len ? "." : xmemdupz(cwd->buf, offset); > > if (chdir(cwd->buf)) > > > > Whoa! Look what values are assigned to the variable: Either a static string or > allocated memory. I suspect that this does not fix a memory leak at all, but > only shuts up Coverity. > > -- Hannes > > PS: stopping here as I'm running out of time. Sorry, I meant to amend the commit message and forgot before sending the first time: setup_git_directory() (and consequently, setup_bare_git_dir()) can only be called once. Yes, this patch is here to shut up Coverity, as it cannot know that we are talking about a singleton here. Ciao, Dscho