summaryrefslogtreecommitdiffstats
path: root/src/ex_cmds2.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-07-10 22:12:10 +0200
committerBram Moolenaar <Bram@vim.org>2017-07-10 22:12:10 +0200
commitcae24be4a808d60313913cc6feea6c2bee2e2a42 (patch)
tree5759bd8d564c2160ac7ab204cc3da7cc9ed32ba9 /src/ex_cmds2.c
parent163095f088a7c29710a16c75bb56229dd3b4116a (diff)
patch 8.0.0705: crash when there is an error in a timer callbackv8.0.0705
Problem: Crash when there is an error in a timer callback. (Aron Griffis, Ozaki Kiichi) Solution: Check did_throw before discarding an exception. NULLify current_exception when no longer valid.
Diffstat (limited to 'src/ex_cmds2.c')
-rw-r--r--src/ex_cmds2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 76e62f7a0b..5f19592340 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1235,7 +1235,7 @@ check_due_timer(void)
if (called_emsg)
{
++timer->tr_emsg_count;
- if (!did_throw_save && current_exception != NULL)
+ if (!did_throw_save && did_throw && current_exception != NULL)
discard_current_exception();
}
did_emsg = did_emsg_save;