summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-03-23 21:53:35 +0100
committerBram Moolenaar <Bram@vim.org>2017-03-23 21:53:35 +0100
commit9d20ce6970158de69202a82529d9e97827a9e71b (patch)
tree764737cb525e82bb948fe6aa7cf976f514cfdff7
parenta37ffaa5e0a47e2db27bc0cc23f49e7094f47f3b (diff)
downloadvim-git-9d20ce6970158de69202a82529d9e97827a9e71b.tar.gz
patch 8.0.0503: endless loop in updating folds with 32 bit intsv8.0.0503
Problem: Endless loop in updating folds with 32 bit ints. Solution: Subtract from LHS instead of add to the RHS. (Matthew Malcomson)
-rw-r--r--src/fold.c2
-rw-r--r--src/version.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/fold.c b/src/fold.c
index 305173918..8c66b78cd 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 4b2ff6f5d..b6cc7d65a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 503,
+/**/
502,
/**/
501,