diff --git a/environment.c b/environment.c
index c44a30be3e4baf5794dcbadfdd6c6a694c2f6851..de5581fe51d532231b0121bd2ef2e46669015bda 100644 (file)
--- a/environment.c
+++ b/environment.c
static void setup_git_env(void)
{
git_dir = getenv(GIT_DIR_ENVIRONMENT);
- if (!git_dir)
+ if (!git_dir) {
git_dir = read_gitfile_gently(DEFAULT_GIT_DIR_ENVIRONMENT);
+ git_dir = git_dir ? xstrdup(git_dir) : NULL;
+ }
if (!git_dir)
git_dir = DEFAULT_GIT_DIR_ENVIRONMENT;
git_object_dir = getenv(DB_ENVIRONMENT);