# HG changeset patch # User Christian Brabandt # Date 1465581607 -7200 # Node ID c9f2b70feac00908aba100d6282f4615d6b7a00d # Parent 2f6e4c902d86936ee648927d4dd0af19c60a5a98 commit https://github.com/vim/vim/commit/e429e70f050cb2941f1f8427cf918b68444c904e Author: Bram Moolenaar Date: Fri Jun 10 19:49:14 2016 +0200 patch 7.4.1914 Problem: Executing autocommands while using the signal stack has a high chance of crashing Vim. Solution: Don't invoke autocommands when on the signal stack. diff --git a/src/os_unix.c b/src/os_unix.c --- a/src/os_unix.c +++ b/src/os_unix.c @@ -1090,6 +1090,12 @@ deathtrap SIGDEFARG(sigarg) /* Remember how often we have been called. */ ++entered; +#ifdef FEAT_AUTOCMD + /* Executing autocommands is likely to use more stack space than we have + * available in the signal stack. */ + block_autocmds(); +#endif + #ifdef FEAT_EVAL /* Set the v:dying variable. */ set_vim_var_nr(VV_DYING, (long)entered); @@ -1171,6 +1177,8 @@ deathtrap SIGDEFARG(sigarg) * calling free(). */ preserve_exit(); + /* NOTREACHED */ + #ifdef NBDEBUG reset_signals(); may_core_dump(); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1914, +/**/ 1913, /**/ 1912,