From: Huihui Huang <625173@qq.com> Date: Thu, 26 Mar 2026 20:59:03 +0000 (+0000) Subject: patch 9.2.0258: memory leak in add_mark() X-Git-Tag: v9.2.0258^0 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b90145672d3978c023de65cce9d8dc7917a258e7;p=thirdparty%2Fvim.git patch 9.2.0258: memory leak in add_mark() Problem: memory leak in add_mark() Solution: Free lpos in the error case when it hasn't been added to the dict yet (Huihui Huang) closes: #19827 Signed-off-by: Huihui Huang <625173@qq.com> Signed-off-by: Christian Brabandt --- 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, /**/