From: Bram Moolenaar Date: Thu, 23 Mar 2017 20:53:35 +0000 (+0100) Subject: patch 8.0.0503: endless loop in updating folds with 32 bit ints X-Git-Tag: v8.0.0503 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d20ce6970158de69202a82529d9e97827a9e71b;p=thirdparty%2Fvim.git patch 8.0.0503: endless loop in updating folds with 32 bit ints Problem: Endless loop in updating folds with 32 bit ints. Solution: Subtract from LHS instead of add to the RHS. (Matthew Malcomson) --- diff --git a/src/fold.c b/src/fold.c index 3051739183..8c66b78cd0 100644 --- a/src/fold.c +++ b/src/fold.c @@ -2755,7 +2755,7 @@ foldUpdateIEMSRecurse( /* End of fold found, update the length when it got shorter. */ if (fp->fd_len != flp->lnum - fp->fd_top) { - if (fp->fd_top + fp->fd_len > bot + 1) + if (fp->fd_top + fp->fd_len - 1 > bot) { /* fold continued below bot */ if (getlevel == foldlevelMarker diff --git a/src/version.c b/src/version.c index 4b2ff6f5d9..b6cc7d65aa 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 503, /**/ 502, /**/