From: NeilBrown Date: Fri, 23 Aug 2013 03:10:12 +0000 (+1000) Subject: Browser: avoid possible infinite loop. X-Git-Tag: v1.0~7 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=b1a40fca593ad9763479ed5063c2a18d616105d3;p=wiggle.git Browser: avoid possible infinite loop. This can sometimes loop indefintely, so check for 'End' and drop out. Signed-off-by: NeilBrown --- diff --git a/vpatch.c b/vpatch.c index 3732c99..1328d56 100644 --- a/vpatch.c +++ b/vpatch.c @@ -1605,7 +1605,8 @@ static int merge_window(struct plist *p, FILE *f, int reverse, int replace, spos.state = 1; while (spos.p.m >= 0 && spos.state != 0) prev_mline(&spos, fm, fb, fa, ci.merger, smode); - while (!same_mpos(spos, tpos)) + while (!same_mpos(spos, tpos) && + ci.merger[spos.p.m].type != End) next_mline(&spos, fm, fb, fa, ci.merger, smode); (void)attrset(a_sep);