Re: [PATCH] get_oid: handle NULL repo->index
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- May 15, 2019, 01:24 UTC
- Message-ID
- <CACsJy8AvsyOz2G1zjRjpKYVZ0DLKj02-v=hXJHS0BRHnxoeWAw@mail.gmail.com>
- In-Reply-To
- <20190514135455.GA17927@sigill.intra.peff.net>
On Tue, May 14, 2019 at 8:54 PM Jeff King <peff@peff.net> wrote:
Show 11 quoted lines
> 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