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.
This commit is contained in:
Yury G. Kudryashov 2015-02-05 23:39:59 +03:00
parent 3ea78f241f
commit 1713653883

View File

@ -1284,6 +1284,7 @@ static int config_parse(git_strmap *values, diskfile_backend *cfg_file, struct r
if (result == 0) { if (result == 0) {
result = config_parse(values, cfg_file, r, level, depth+1); result = config_parse(values, cfg_file, r, level, depth+1);
r = git_array_get(cfg_file->readers, index); r = git_array_get(cfg_file->readers, index);
reader = git_array_get(cfg_file->readers, reader_idx);
} }
else if (result == GIT_ENOTFOUND) { else if (result == GIT_ENOTFOUND) {
giterr_clear(); giterr_clear();