patch 8.2.3678: illegal memory access
Problem: Illegal memory access. Solution: Ignore changed indent when computing byte offset.
This commit is contained in:
@ -2099,6 +2099,7 @@ do_put(
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
linenr_T new_lnum = new_cursor.lnum;
|
linenr_T new_lnum = new_cursor.lnum;
|
||||||
|
size_t len;
|
||||||
|
|
||||||
// Insert at least one line. When y_type is MCHAR, break the first
|
// Insert at least one line. When y_type is MCHAR, break the first
|
||||||
// line in two.
|
// line in two.
|
||||||
@ -2211,11 +2212,12 @@ error:
|
|||||||
// Put the '] mark on the first byte of the last inserted character.
|
// Put the '] mark on the first byte of the last inserted character.
|
||||||
// Correct the length for change in indent.
|
// Correct the length for change in indent.
|
||||||
curbuf->b_op_end.lnum = new_lnum;
|
curbuf->b_op_end.lnum = new_lnum;
|
||||||
col = (colnr_T)STRLEN(y_array[y_size - 1]) - lendiff;
|
len = STRLEN(y_array[y_size - 1]);
|
||||||
|
col = (colnr_T)len - lendiff;
|
||||||
if (col > 1)
|
if (col > 1)
|
||||||
curbuf->b_op_end.col = col - 1
|
curbuf->b_op_end.col = col - 1
|
||||||
- mb_head_off(y_array[y_size - 1],
|
- mb_head_off(y_array[y_size - 1],
|
||||||
y_array[y_size - 1] + col - 1);
|
y_array[y_size - 1] + len - 1);
|
||||||
else
|
else
|
||||||
curbuf->b_op_end.col = 0;
|
curbuf->b_op_end.col = 0;
|
||||||
|
|
||||||
|
|||||||
@ -757,6 +757,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3678,
|
||||||
/**/
|
/**/
|
||||||
3677,
|
3677,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user