]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0242: memory leak in check_for_cryptkey() v9.2.0242
authorHuihui Huang <625173@qq.com>
Wed, 25 Mar 2026 19:11:13 +0000 (19:11 +0000)
committerChristian Brabandt <cb@256bit.org>
Wed, 25 Mar 2026 19:11:13 +0000 (19:11 +0000)
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 <cb@256bit.org>
src/fileio.c
src/version.c

index 8917a7e291d9593e2b34343a2f095dc771d25ce9..e057b78adbc6fe9f9d5aab80cd7dc7c98d2e560e 100644 (file)
@@ -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);
index 9bf8c841729eb4f76fe1b96e10297f427620c88d..003ddcacb3b12c61557b82fc86454ed6f429d096 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    242,
 /**/
     241,
 /**/