changeset 15721:e84eb23f4670 v8.1.0868

patch 8.1.0868: crash if triggering garbage collector after a function call commit https://github.com/vim/vim/commit/889da2f2438c8168f9a25dc776360b81109bad44 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 2 14:02:30 2019 +0100 patch 8.1.0868: crash if triggering garbage collector after a function call Problem: Crash if triggering garbage collector after a function call. (Michael Henry) Solution: Don't call the garbage collector right away, do it later. (closes #3894)
author Bram Moolenaar <Bram@vim.org>
date Sat, 02 Feb 2019 14:15:12 +0100
parents 600c2a9024a2
children d21ea191c11a
files src/userfunc.c src/version.c
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -679,10 +679,10 @@ cleanup_function_call(funccall_T *fc)
 	{
 	    // We have made a lot of copies.  This can happen when
 	    // repetitively calling a function that creates a reference to
-	    // itself somehow.  Call the garbage collector here to avoid using
+	    // itself somehow.  Call the garbage collector soon to avoid using
 	    // too much memory.
 	    made_copy = 0;
-	    (void)garbage_collect(FALSE);
+	    want_garbage_collect = TRUE;
 	}
     }
 }
--- a/src/version.c
+++ b/src/version.c
@@ -784,6 +784,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    868,
+/**/
     867,
 /**/
     866,