# HG changeset patch # User Bram Moolenaar # Date 1662134404 -7200 # Node ID 8dd2c2db00d25484651aaf9ec1d7d4de446b7d70 # Parent 065ac3ad11fb24e0ea7e2ee83e6797672d31a3c6 patch 9.0.0360: crash when invalid line number on :for is ignored Commit: https://github.com/vim/vim/commit/35d21c6830fc2d68aca838424a0e786821c5891c Author: Bram Moolenaar 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. diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- 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), diff --git a/src/testdir/test_eval_stuff.vim b/src/testdir/test_eval_stuff.vim index 313d791850c003bfbe907b33d89e440567ea3d13..934286bbe8418abef444afd1cce9fb57e42aff3f GIT binary patch literal 24211 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 OhreKCh;687_WmF5o2-HW diff --git a/src/version.c b/src/version.c --- 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,