diff options
author | Junio C Hamano <gitster@pobox.com> | 2019-07-29 12:38:21 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-07-29 12:38:21 -0700 |
commit | 0324b6f035a19f0098c321a7e6e17c04e9405be2 (patch) | |
tree | 40c48dc63c49002a009de35657f04cd3d5db64b2 /read-cache.c | |
parent | 0100103d8e055891e820f78038ee40f2e8913854 (diff) | |
parent | 568a05c5ecb8e3a01fcb90d0f81857f49ef2add8 (diff) | |
download | git-0324b6f035a19f0098c321a7e6e17c04e9405be2.tar.gz |
Merge branch 'rs/avoid-overflow-in-midpoint-computation' into maint
Code clean-up to avoid signed integer overlaps during binary search.
* rs/avoid-overflow-in-midpoint-computation:
cleanup: fix possible overflow errors in binary search, part 2
Diffstat (limited to 'read-cache.c')
-rw-r--r-- | read-cache.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/read-cache.c b/read-cache.c index 7b1be1b671..93a897f240 100644 --- a/read-cache.c +++ b/read-cache.c @@ -549,7 +549,7 @@ static int index_name_stage_pos(const struct index_state *istate, const char *na first = 0; last = istate->cache_nr; while (last > first) { - int next = (last + first) >> 1; + int next = first + ((last - first) >> 1); struct cache_entry *ce = istate->cache[next]; int cmp = cache_name_stage_compare(name, namelen, stage, ce->name, ce_namelen(ce), ce_stage(ce)); if (!cmp) |