summaryrefslogtreecommitdiffstats
path: root/src/indent.c
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 /src/indent.c
parent4dba04256b8a49b201d685217d3d7abc4988f090 (diff)
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.
Diffstat (limited to 'src/indent.c')
-rw-r--r--src/indent.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/indent.c b/src/indent.c
index a9d406e3a0..6ac6182df4 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;