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 #9293)
diff --git a/src/job.c b/src/job.c
index ebe902f..6ee9f44 100644
--- a/src/job.c
+++ b/src/job.c
@@ -1578,6 +1578,7 @@
{
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 @@
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;
}
/*