From 6046aded8da002b08d380db29de2ba0268b6616e Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 22 Jun 2022 13:51:54 +0100 Subject: patch 8.2.5148: invalid memory access when using expression on command line Problem: Invalid memory access when using an expression on the command line. Solution: Make sure the position does not go negative. --- src/ex_getln.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/ex_getln.c') diff --git a/src/ex_getln.c b/src/ex_getln.c index af4dc19be1..b499aba141 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1206,6 +1206,7 @@ cmdline_insert_reg(int *gotesc UNUSED) { int i; int c; + int save_new_cmdpos = new_cmdpos; #ifdef USE_ON_FLY_SCROLL dont_scroll = TRUE; // disallow scrolling here @@ -1224,8 +1225,6 @@ cmdline_insert_reg(int *gotesc UNUSED) #ifdef FEAT_EVAL /* * Insert the result of an expression. - * Need to save the current command line, to be able to enter - * a new one... */ new_cmdpos = -1; if (c == '=') @@ -1266,6 +1265,8 @@ cmdline_insert_reg(int *gotesc UNUSED) } #endif } + new_cmdpos = save_new_cmdpos; + // remove the double quote redrawcmd(); -- cgit v1.2.3