Mercurial > vim
diff src/job.c @ 26452:65b4109a4297 v8.2.3756
patch 8.2.3756: might crash when callback is not valid
Commit: https://github.com/vim/vim/commit/4dc24eb5adbcc76838fae1e900936dd230209d96
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Tue Dec 7 12:23:57 2021 +0000
patch 8.2.3756: might crash when callback is not valid
Problem: might crash when callback is not valid.
Solution: Check for valid callback. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/9293)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 07 Dec 2021 13:30:05 +0100 |
parents | b18f3b0f317c |
children | d413104a94c8 |
line wrap: on
line diff
--- a/src/job.c +++ b/src/job.c @@ -1578,6 +1578,7 @@ invoke_prompt_interrupt(void) { typval_T rettv; typval_T argv[1]; + int ret; if (curbuf->b_prompt_interrupt.cb_name == NULL || *curbuf->b_prompt_interrupt.cb_name == NUL) @@ -1585,9 +1586,9 @@ invoke_prompt_interrupt(void) argv[0].v_type = VAR_UNKNOWN; got_int = FALSE; // don't skip executing commands - call_callback(&curbuf->b_prompt_interrupt, -1, &rettv, 0, argv); + ret = call_callback(&curbuf->b_prompt_interrupt, -1, &rettv, 0, argv); clear_tv(&rettv); - return TRUE; + return ret == FAIL ? FALSE : TRUE; } /*