Without this fix gcc 4.2.1 warns with:
warning: assuming signed overflow does not occur
when assuming that (X + c) < X is always false
Signed-off-by: Marco Costalba <redacted>
---
sha1_file.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sha1_file.c b/sha1_file.c
index b219d4d..ba29000 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -524,7 +524,8 @@ static int check_packed_git_idx
if (idx_size != min_size) {
/* make sure we can deal with large pack offsets */
off_t x = 0x7fffffffUL, y = 0xffffffffUL;
- if (x > (x + 1) || y > (y + 1)) {
+ off_t x1 = x + 1, y1 = y + 1;
+ if (x > x1 || y > y1) {
munmap(idx_map, idx_size);
return error("pack too large for current definition of off_t in %s", path);
}--
1.5.3.rc4.67.gf9286