Re: [PATCH] ls-files: don't try to prune an empty index
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Jul 16, 2017, 00:28 UTC
- Message-ID
- <8fdcc21d-ccf9-7594-4d69-dfcad580da32@ramsayjones.plus.com>
- In-Reply-To
- <bbc51fb0-70ce-3b02-274b-31b5dc035e29@web.de>
On 15/07/17 21:11, René Scharfe wrote:
Show 24 quoted lines
> Exit early when asked to prune an index that contains no > entries to begin with. This avoids pointer arithmetic on > istate->cache, which is possibly NULL in that case. > > Found with Clang's UBSan. > > Signed-off-by: Rene Scharfe <l.s.r@web.de> > --- > builtin/ls-files.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/builtin/ls-files.c b/builtin/ls-files.c > index b8514a0029..adf572da68 100644 > --- a/builtin/ls-files.c > +++ b/builtin/ls-files.c > @@ -362,7 +362,7 @@ static void prune_index(struct index_state *istate, > int pos; > unsigned int first, last; > > - if (!prefix) > + if (!prefix || !istate->cache_nr) > return; > pos = index_name_pos(istate, prefix, prefixlen); > if (pos < 0)
My patch looked like:
- if (!prefix) + if (!prefix || !istate->cache || istate->cache_nr == 0)
... which is probably a bit 'belt-n-braces'. ;-)
ATB, Ramsay Jones