]> git.ipfire.org Git - thirdparty/git.git/commit - read-cache.c
read-cache: make `do_read_index()` always set up `istate->repo`
authorMartin Ågren <martin.agren@gmail.com>
Fri, 22 Jul 2022 21:22:32 +0000 (23:22 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 22 Jul 2022 21:51:00 +0000 (14:51 -0700)
commit4447d4129d944eb136fd5c35014cc2b370a2d752
tree69dce76dac38dbd628f1daf395037242c317d145
parente6a653554bb49c26d105f3b478cbdbb1c0648f65
read-cache: make `do_read_index()` always set up `istate->repo`

If there is no index file, e.g., because the repository has just been
created, we return zero early (unless `must_exist` makes us die
instead.)

This early return means we do not set up `istate->repo`. With
`core.untrackedCache=true`, the recent e6a653554b ("untracked-cache:
support '--untracked-files=all' if configured", 2022-03-31) will
eventually pass down `istate->repo` as a null pointer to
`repo_config_get_string()`, causing a segmentation fault.

If we do hit this early return, set up `istate->repo` similar to when we
actually read the index.

Reported-by: Joey Hess <id@joeyh.name>
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
read-cache.c
t/t7063-status-untracked-cache.sh