summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-02-03 19:44:25 +0100
committerBram Moolenaar <Bram@vim.org>2021-02-03 19:44:25 +0100
commit0dcd39bad5e5aa70ba8f60cb3fbf0658585f0151 (patch)
tree6568dea40f472577b749c74fabbcf4d3e8b86c02
parent4dba04256b8a49b201d685217d3d7abc4988f090 (diff)
downloadvim-git-8.2.2458.tar.gz
patch 8.2.2458: Coverity warns for :retab using freed memoryv8.2.2458
Problem: Coverity warns for :retab using freed memory. Solution: Use the updated line pointer when moving text properties.
-rw-r--r--src/indent.c4
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/indent.c b/src/indent.c
index a9d406e3a..6ac6182df 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -1662,7 +1662,9 @@ ex_retab(exarg_T *eap)
ptr = new_line + start_col;
for (col = 0; col < len; col++)
ptr[col] = (col < num_tabs) ? '\t' : ' ';
- ml_replace(lnum, new_line, FALSE);
+ if (ml_replace(lnum, new_line, FALSE) == OK)
+ // "new_line" may have been copied
+ new_line = curbuf->b_ml.ml_line_ptr;
if (first_line == 0)
first_line = lnum;
last_line = lnum;
diff --git a/src/version.c b/src/version.c
index ab00e37c7..dd7c3b08f 100644
--- 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 */
/**/
+ 2458,
+/**/
2457,
/**/
2456,