From: Jeff King Date: Tue, 08 Aug 2017 22:58:51 GMT Subject: Re: [PATCH] sha1_file: avoid comparison if no packed hash matches the first byte Message-ID: <20170808225851.kgbyrlqrtlurzc73@sigill.intra.peff.net> In-Reply-To: <20170808225231.3l7gyoxxvghsvtv7@sigill.intra.peff.net> On Tue, Aug 08, 2017 at 06:52:31PM -0400, Jeff King wrote: > > Interesting. I see that we still have the conditional code to call > > out to sha1-lookup.c::sha1_entry_pos(). Do we need a similar change > > over there, I wonder? Alternatively, as we have had the experimental > > sha1-lookup.c::sha1_entry_pos() long enough without anybody using it, > > perhaps we should write it off as a failed experiment and retire it? > > There is also sha1_pos(), which seems to have the same problem (and is > used in several places). Actually, I take it back. The problem happens when we enter the loop with no entries to look at. But both sha1_pos() and sha1_entry_pos() return early before hitting their do-while loops in that case. -Peff