Re: [PATCH] ls-files: don't try to prune an empty index
- From
Jeff King <peff@peff.net>
- Date
- Jul 16, 2017, 10:41 UTC
- Message-ID
- <20170716104114.7tfcuilsy3ab74n6@sigill.intra.peff.net>
- In-Reply-To
- <bbc51fb0-70ce-3b02-274b-31b5dc035e29@web.de>
On Sat, Jul 15, 2017 at 10:11:20PM +0200, René Scharfe wrote:
Show 5 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.
Makes sense. We could use MOVE_ARRAY() here, but this is a sensible short-circuit to the whole function.
Looks like a good solution.
Show 13 quoted lines
> 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)
"git am" complained that this does not apply to its blobs. Did you hand-edit?
-Peff