diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-06-30 22:13:59 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-06-30 22:13:59 +0100 |
commit | fa4873ccfc10e0f278dc46f39d00136fab059b19 (patch) | |
tree | 55d4275e939188fc973d53bcf19e3d6136e6efe6 /src/edit.c | |
parent | cdbfc6dbab1d63aa56af316d6b13e37939e7f7a8 (diff) |
patch 9.0.0013: reproducing memory access errors can be difficultv9.0.0013
Problem: Reproducing memory access errors can be difficult.
Solution: When testing, copy each line to allocated memory, so that valgrind
can detect accessing memory before and/or after it. Fix uncovered
problems.
Diffstat (limited to 'src/edit.c')
-rw-r--r-- | src/edit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/edit.c b/src/edit.c index a8e695c91c..2009be1377 100644 --- a/src/edit.c +++ b/src/edit.c @@ -5013,7 +5013,7 @@ ins_tab(void) mch_memmove(newp + col, ptr + i, curbuf->b_ml.ml_line_len - col - i); - if (curbuf->b_ml.ml_flags & ML_LINE_DIRTY) + if (curbuf->b_ml.ml_flags & (ML_LINE_DIRTY | ML_ALLOCATED)) vim_free(curbuf->b_ml.ml_line_ptr); curbuf->b_ml.ml_line_ptr = newp; curbuf->b_ml.ml_line_len -= i; @@ -5232,10 +5232,10 @@ ins_copychar(linenr_T lnum) } // try to advance to the cursor column + validate_virtcol(); temp = 0; line = ptr = ml_get(lnum); prev_ptr = ptr; - validate_virtcol(); while ((colnr_T)temp < curwin->w_virtcol && *ptr != NUL) { prev_ptr = ptr; |