Web lists-archives.com

Re: [PATCH] get_oid: handle NULL repo->index




On Tue, May 14, 2019 at 8:54 PM Jeff King <peff@xxxxxxxx> wrote:
> diff --git a/sha1-name.c b/sha1-name.c
> index 775a73d8ad..455e9fb1ea 100644
> --- a/sha1-name.c
> +++ b/sha1-name.c
> @@ -1837,7 +1837,7 @@ static enum get_oid_result get_oid_with_context_1(struct repository *repo,
>                 if (flags & GET_OID_RECORD_PATH)
>                         oc->path = xstrdup(cp);
>
> -               if (!repo->index->cache)
> +               if (!repo->index || !repo->index->cache)
>                         repo_read_index(repo);

We could even drop the "if" and call repo_read_index()
unconditionally. If the index is already read, it will be no-op
(forcing a reread has always been discard_index(); read_index();)

Thanks for catching this by the way. I'll need to go through all
the_index conversion to see if I left similar traps like this.
-- 
Duy