From a4c0119786daba999c7f74be5ef2f3363e137af5 Mon Sep 17 00:00:00 2001 From: Huihui Huang <625173@qq.com> Date: Wed, 25 Mar 2026 19:11:13 +0000 Subject: [PATCH] patch 9.2.0242: memory leak in check_for_cryptkey() Problem: memory leak in check_for_cryptkey() Solution: Free cryptkey if it had been allocated (Huihui Huang) closes: #19821 Signed-off-by: Huihui Huang <625173@qq.com> Signed-off-by: Christian Brabandt --- src/fileio.c | 4 ++++ src/version.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/fileio.c b/src/fileio.c index 8917a7e291..e057b78adb 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -3074,8 +3074,12 @@ check_for_cryptkey( header_len = crypt_get_header_len(method); if (*sizep < header_len) + { // invalid header, buffer can't be encrypted + if (cryptkey != curbuf->b_p_key) + vim_free(cryptkey); return NULL; + } curbuf->b_cryptstate = crypt_create_from_header( method, cryptkey, ptr); diff --git a/src/version.c b/src/version.c index 9bf8c84172..003ddcacb3 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 */ +/**/ + 242, /**/ 241, /**/