aboutsummaryrefslogtreecommitdiffstats
path: root/compat/regex/regex_internal.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-10-11 14:52:24 +0900
committerJunio C Hamano <gitster@pobox.com>2017-10-11 14:52:24 +0900
commit7245ee3d6cd0c7eea81b57260badc6fcda5d8ffd (patch)
tree2fc0707b95acb28a22bc07c62a83878523d00ff0 /compat/regex/regex_internal.c
parentMerge branch 'tb/complete-describe' (diff)
parentcleanup: fix possible overflow errors in binary search (diff)
downloadgit-7245ee3d6cd0c7eea81b57260badc6fcda5d8ffd.tar.gz
git-7245ee3d6cd0c7eea81b57260badc6fcda5d8ffd.zip
Merge branch 'ds/avoid-overflow-in-midpoint-computation'
Code clean-up. * ds/avoid-overflow-in-midpoint-computation: cleanup: fix possible overflow errors in binary search
Diffstat (limited to 'compat/regex/regex_internal.c')
-rw-r--r--compat/regex/regex_internal.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/compat/regex/regex_internal.c b/compat/regex/regex_internal.c
index d4121f2f4f..98342b8316 100644
--- a/compat/regex/regex_internal.c
+++ b/compat/regex/regex_internal.c
@@ -613,7 +613,7 @@ re_string_reconstruct (re_string_t *pstr, int idx, int eflags)
int low = 0, high = pstr->valid_len, mid;
do
{
- mid = (high + low) / 2;
+ mid = low + (high - low) / 2;
if (pstr->offsets[mid] > offset)
high = mid;
else if (pstr->offsets[mid] < offset)
@@ -1394,7 +1394,7 @@ re_node_set_contains (const re_node_set *set, int elem)
right = set->nelem - 1;
while (idx < right)
{
- mid = (idx + right) / 2;
+ mid = idx + (right - idx) / 2;
if (set->elems[mid] < elem)
idx = mid + 1;
else