Re: [PATCH] Always check the return value of `repo_read_object_file()`
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Feb 12, 2024, 23:19 UTC
- Message-ID
- <fcb8240a-0b97-8554-9eee-8ff2acdb9a8f@gmx.de>
- In-Reply-To
- <xmqqplx9fdyk.fsf@gitster.g>
Hi Junio,
On Tue, 6 Feb 2024, Junio C Hamano wrote:
Show 18 quoted lines
> > diff --git a/builtin/grep.c b/builtin/grep.c
> > index c8e33f97755..982bcfc4b1d 100644
> > --- a/builtin/grep.c
> > +++ b/builtin/grep.c
> > @@ -571,6 +571,8 @@ static int grep_cache(struct grep_opt *opt,
> >
> > data = repo_read_object_file(the_repository, &ce->oid,
> > &type, &size);
> > + if (!data)
> > + die(_("unable to read tree %s"), oid_to_hex(&ce->oid));
> > init_tree_desc(&tree, data, size);
> >
> > hit |= grep_tree(opt, pathspec, &tree, &name, 0, 0);
>
> This caught my attention during today's integration cycle. Checking
> nullness for data certainly is an improvement, but shouldn't we be
> checking type as well to make sure it is a tree and not a random
> tree-ish or even blob?That sounds right, but I am already stretching this patch beyond what I am funded to work on, and therefore I need to leave it at the current state.
Ciao, Johannes