[PATCH 3/4] xdl_merge(): fix an off-by-one bug
From: Johannes Schindelin <hidden>
Date: 2016-08-11 19:36:21
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Johannes Schindelin <hidden>
Date: 2016-08-11 19:36:21
Subsystem:
the rest · Maintainer:
Linus Torvalds
The line range is i1 .. (i1 + chg1 - 1), not i1 .. (i1 + chg1). Signed-off-by: Johannes Schindelin <redacted> --- xdiff/xmerge.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/xdiff/xmerge.c b/xdiff/xmerge.c
index 6b6fbb8..9fe2059 100644
--- a/xdiff/xmerge.c
+++ b/xdiff/xmerge.c@@ -194,11 +194,11 @@ static int xdl_refine_conflicts(xdfenv_t * we have a very simple mmfile structure. */ t1.ptr = (char *)xe1->xdf2.recs[m->i1]->ptr; - t1.size = xe1->xdf2.recs[m->i1 + m->chg1]->ptr - + xe1->xdf2.recs[m->i1 + m->chg1]->size - t1.ptr; - t2.ptr = (char *)xe2->xdf2.recs[m->i1]->ptr; - t2.size = xe2->xdf2.recs[m->i1 + m->chg1]->ptr - + xe2->xdf2.recs[m->i1 + m->chg1]->size - t2.ptr; + t1.size = xe1->xdf2.recs[m->i1 + m->chg1 - 1]->ptr + + xe1->xdf2.recs[m->i1 + m->chg1 - 1]->size - t1.ptr; + t2.ptr = (char *)xe2->xdf2.recs[m->i2]->ptr; + t2.size = xe2->xdf2.recs[m->i2 + m->chg2 - 1]->ptr + + xe2->xdf2.recs[m->i2 + m->chg2 - 1]->size - t2.ptr; if (xdl_do_diff(&t1, &t2, xpp, &xe) < 0) return -1; if (xdl_change_compact(&xe.xdf1, &xe.xdf2, xpp->flags) < 0 ||
--
1.4.4.g5aac-dirty