Re: [PATCH] grep: handle corrupt index files early
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 15, 2018, 23:58 UTC
- Message-ID
- <xmqq603o8o9w.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180515010425.149200-1-sbeller@google.com>
Stefan Beller <sbeller@google.com> writes:
> Any other caller of 'repo_read_index' dies upon a negative return of > it, so grep should, too.
Makes sense. When the function returns a failure, there is no sensible fallback action anyway, so dying here is alright.
Will queue; thanks.
Show 24 quoted lines
>
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
>
> Found while reviewing the series
> https://public-inbox.org/git/20180514105823.8378-1-ao2@ao2.it/
>
> builtin/grep.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/grep.c b/builtin/grep.c
> index 6e7bc76785a..69f0743619f 100644
> --- a/builtin/grep.c
> +++ b/builtin/grep.c
> @@ -488,7 +488,8 @@ static int grep_cache(struct grep_opt *opt, struct repository *repo,
> strbuf_addstr(&name, repo->submodule_prefix);
> }
>
> - repo_read_index(repo);
> + if (repo_read_index(repo) < 0)
> + die("index file corrupt");
>
> for (nr = 0; nr < repo->index->cache_nr; nr++) {
> const struct cache_entry *ce = repo->index->cache[nr];