diff --git a/src/mark.c b/src/mark.c index c872e2f0ff..7cd4f31bcb 100644 --- a/src/mark.c +++ b/src/mark.c @@ -1484,7 +1484,11 @@ add_mark(list_T *l, char_u *mname, pos_T *pos, int bufnr, char_u *fname) if (dict_add_string(d, "mark", mname) == FAIL || dict_add_list(d, "pos", lpos) == FAIL || (fname != NULL && dict_add_string(d, "file", fname) == FAIL)) + { + if (lpos->lv_refcount == 0) + list_free(lpos); return FAIL; + } return OK; } diff --git a/src/version.c b/src/version.c index 770e09b860..8b35a87905 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 258, /**/ 257, /**/