diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-03-25 11:16:28 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-03-25 11:16:28 +0000 |
commit | 43216611a5accd32a53fe77d4552a36f6ed30c74 (patch) | |
tree | d82710661e02df5456ef7ec45ca9cba2dcd3037f /src/eval.c | |
parent | 9dd42a631162a8561bd7c4b0e89afd21f7994d8c (diff) |
patch 8.2.4622: Vim9: crash with :execute and :finishv8.2.4622
Problem: Vim9: Crash with :execute and :finish. (Sergey Vlasov)
Solution: Check for NULL. (closes #10011)
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index a963a15c01..4447186e22 100644 --- a/src/eval.c +++ b/src/eval.c @@ -2144,7 +2144,8 @@ getline_peek_skip_comments(evalarg_T *evalarg) p = skipwhite(next); if (*p != NUL && !vim9_comment_start(p)) return next; - (void)eval_next_line(evalarg); + if (eval_next_line(evalarg) == NULL) + break; } return NULL; } @@ -2199,6 +2200,9 @@ eval_next_line(evalarg_T *evalarg) GETLINE_CONCAT_ALL); else line = next_line_from_context(evalarg->eval_cctx, TRUE); + if (line == NULL) + return NULL; + ++evalarg->eval_break_count; if (gap->ga_itemsize > 0 && ga_grow(gap, 1) == OK) { |