changeset 27746:2d24aad37e60 v8.2.4399

patch 8.2.4399: crash after ml_get error Commit: https://github.com/vim/vim/commit/f9435e49ef8032e80d38e31e950e4a9b75387533 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Feb 16 16:33:28 2022 +0000 patch 8.2.4399: crash after ml_get error Problem: Crash after ml_get error. Solution: When returning "???" flush the line and set ml_line_lnum.
author Bram Moolenaar <Bram@vim.org>
date Wed, 16 Feb 2022 17:45:03 +0100
parents 94b70a7a4d94
children 35004844b739
files src/memline.c src/version.c
diffstat 2 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/memline.c
+++ b/src/memline.c
@@ -2619,9 +2619,12 @@ ml_get_buf(
 	    siemsg(_(e_ml_get_invalid_lnum_nr), lnum);
 	    --recursive;
 	}
+	ml_flush_line(buf);
+	buf->b_ml.ml_flags &= ~ML_LINE_DIRTY;
 errorret:
 	STRCPY(questions, "???");
 	buf->b_ml.ml_line_len = 4;
+	buf->b_ml.ml_line_lnum = lnum;
 	return questions;
     }
     if (lnum <= 0)			// pretend line 0 is line 1
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4399,
+/**/
     4398,
 /**/
     4397,