From 889da2f2438c8168f9a25dc776360b81109bad44 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 2 Feb 2019 14:02:30 +0100 Subject: [PATCH] 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) --- src/userfunc.c | 4 ++-- src/version.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/userfunc.c b/src/userfunc.c index aae3fd334..acbab901f 100644 --- 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; } } } diff --git a/src/version.c b/src/version.c index 92e980559..1a2e2befc 100644 --- a/src/version.c +++ b/src/version.c @@ -783,6 +783,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 868, /**/ 867, /**/ -- 2.40.0