1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-01 06:47:52 +01:00
git/compat/regex
Derrick Stolee 19716b21a4 cleanup: fix possible overflow errors in binary search
A common mistake when writing binary search is to allow possible
integer overflow by using the simple average:

	mid = (min + max) / 2;

Instead, use the overflow-safe version:

	mid = min + (max - min) / 2;

This translation is safe since the operation occurs inside a loop
conditioned on "min < max". The included changes were found using
the following git grep:

	git grep '/ *2;' '*.c'

Making this cleanup will prevent future review friction when a new
binary search is contructed based on existing code.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2017-10-10 08:57:24 +09:00
..
regcomp.c regex: fix a SIZE_MAX macro redefinition warning 2016-06-06 19:22:00 -07:00
regex.c regex: fix a SIZE_MAX macro redefinition warning 2016-06-06 19:22:00 -07:00
regex.h compat/regex: get the gawk regex engine to compile within git 2010-08-18 14:06:54 -07:00
regex_internal.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00
regex_internal.h compat/regex: use the regex engine from gawk for compat 2010-08-18 14:06:48 -07:00
regexec.c cleanup: fix possible overflow errors in binary search 2017-10-10 08:57:24 +09:00