On Tue, Feb 27, 2018 at 02:30:39PM -0800, Junio C Hamano wrote: > -- >8 -- > From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > Date: Tue, 27 Feb 2018 06:47:04 -0500 > Subject: [PATCH] sha1_name: fix uninitialized memory errors > > During abbreviation checks, we navigate to the position within a > pack-index that an OID would be inserted and check surrounding OIDs > for the maximum matching prefix. This position may be beyond the > last position, because the given OID is lexicographically larger > than every OID in the pack. Then nth_packed_object_oid() does not > initialize "oid". > > Use the return value of nth_packed_object_oid() to prevent these > errors. > > Also the comment about checking near-by objects miscounts the > neighbours. If we have a hit at "first", we check "first-1" and > "first+1" to make sure we have sufficiently long abbreviation not to > match either. If we do not have a hit, "first" is the smallest > among the objects that are larger than what we want to name, so we > check that and "first-1" to make sure we have sufficiently long > abbreviation not to match either. In either case, we only check up > to two near-by objects. Yep, this looks good to me. Thanks for wrapping it up. -Peff