[PATCH v3 13/25] setup_bare_git_dir(): help static analysis
From: Johannes Schindelin <hidden>
Date: 2017-05-02 16:02:37
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Johannes Schindelin <hidden>
Date: 2017-05-02 16:02:37
Subsystem:
the rest · Maintainer:
Linus Torvalds
Coverity reported a memory leak in this function. However, it can only be called once, as setup_git_directory() changes global state and hence is not reentrant. Mark the variable as static to indicate that this is a singleton. Signed-off-by: Johannes Schindelin <redacted> --- 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))
--
2.12.2.windows.2.800.gede8f145e06