changeset 30045:8dd2c2db00d2 v9.0.0360

patch 9.0.0360: crash when invalid line number on :for is ignored Commit: https://github.com/vim/vim/commit/35d21c6830fc2d68aca838424a0e786821c5891c Author: Bram Moolenaar <Bram@vim.org> Date: Fri Sep 2 16:47:16 2022 +0100 patch 9.0.0360: crash when invalid line number on :for is ignored Problem: Crash when invalid line number on :for is ignored. Solution: Do not check breakpoint for non-existing line.
author Bram Moolenaar <Bram@vim.org>
date Fri, 02 Sep 2022 18:00:04 +0200
parents 065ac3ad11fb
children c84bafac81ac
files src/ex_docmd.c src/testdir/test_eval_stuff.vim src/version.c
diffstat 3 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1068,7 +1068,7 @@ do_cmdline(
 
 		    // Check for the next breakpoint at or after the ":while"
 		    // or ":for".
-		    if (breakpoint != NULL)
+		    if (breakpoint != NULL && lines_ga.ga_len > current_line)
 		    {
 			*breakpoint = dbg_find_breakpoint(
 			       getline_equal(fgetline, cookie, getsourceline),
index 313d791850c003bfbe907b33d89e440567ea3d13..934286bbe8418abef444afd1cce9fb57e42aff3f
GIT binary patch
literal 24211
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
OhreKCh;687_WmF5o2-HW
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    360,
+/**/
     359,
 /**/
     358,