diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-02-03 19:44:25 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-02-03 19:44:25 +0100 |
commit | 0dcd39bad5e5aa70ba8f60cb3fbf0658585f0151 (patch) | |
tree | 6568dea40f472577b749c74fabbcf4d3e8b86c02 | |
parent | 4dba04256b8a49b201d685217d3d7abc4988f090 (diff) | |
download | vim-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.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |