From 1713653883c3dfd199a18b51a1e2b37def183101 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Thu, 5 Feb 2015 23:39:59 +0300 Subject: [PATCH] Reinit `reader` pointer after reading included config file Fixes #2869. If included file includes more files, it may reallocate cfg_file->readers, hence invalidate not only `r` pointer, but `result` pointer as well. --- src/config_file.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/config_file.c b/src/config_file.c index 4f041e7e3..268cced09 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -1284,6 +1284,7 @@ static int config_parse(git_strmap *values, diskfile_backend *cfg_file, struct r if (result == 0) { result = config_parse(values, cfg_file, r, level, depth+1); r = git_array_get(cfg_file->readers, index); + reader = git_array_get(cfg_file->readers, reader_idx); } else if (result == GIT_ENOTFOUND) { giterr_clear();