]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.2010: Missing out-of-memory checks in vim9class.c v9.1.2010
authorJohn Marriott <basilisk@internode.on.net>
Mon, 22 Dec 2025 18:49:43 +0000 (18:49 +0000)
committerChristian Brabandt <cb@256bit.org>
Mon, 22 Dec 2025 18:49:43 +0000 (18:49 +0000)
Problem:  Missing out-of-memory checks in vim9class.c
          (after v9.1.2000)
Solution: Return FAIL early (John Marriott)

closes: #18991

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/version.c
src/vim9class.c

index 28336399bcb567789eb1ea19e5a21a1f88d3a182..dd8fdd6672848200a4bac9a977b6e68f3df868d2 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2010,
 /**/
     2009,
 /**/
index e5b811b91541632dcb1d556719bacfa8a489a473..409bb50f73cd72e8072490a9048a8cbf2467e991 100644 (file)
@@ -179,7 +179,10 @@ add_member(
     m->ocm_name.length = (size_t)(varname_end - varname);
     m->ocm_name.string = vim_strnsave(varname, m->ocm_name.length);
     if (m->ocm_name.string == NULL)
+    {
        m->ocm_name.length = 0;
+       return FAIL;
+    }
     m->ocm_access = has_public ? VIM_ACCESS_ALL
                      : *varname == '_' ? VIM_ACCESS_PRIVATE : VIM_ACCESS_READ;
     if (has_final)
@@ -230,7 +233,10 @@ add_members_to_class(
        *m = parent_members[i];
        m->ocm_name.string = vim_strnsave(m->ocm_name.string, m->ocm_name.length);
        if (m->ocm_name.string == NULL)
+       {
            m->ocm_name.length = 0;
+           return FAIL;
+       }
        if (m->ocm_init != NULL)
            m->ocm_init = vim_strsave(m->ocm_init);
     }