Mercurial > vim
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; } } }