]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.4073: Coverity warns for using NULL pointer v8.2.4073
authorBram Moolenaar <Bram@vim.org>
Thu, 13 Jan 2022 12:05:09 +0000 (12:05 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 13 Jan 2022 12:05:09 +0000 (12:05 +0000)
Problem:    Coverity warns for using NULL pointer.
Solution:   Bail out when running out of memory. Check for running over end of
            a string.

src/userfunc.c
src/version.c

index a227700dc02578234be06ffa2bc725298003dc2d..4072349cb0eddce794470445c945ccb73c965476 100644 (file)
@@ -1674,12 +1674,10 @@ deref_func_name(
     void
 emsg_funcname(char *ermsg, char_u *name)
 {
-    char_u     *p;
+    char_u     *p = name;
 
-    if (*name == K_SPECIAL)
+    if (name[0] == K_SPECIAL && name[1] != NUL && name[2] != NUL)
        p = concat_str((char_u *)"<SNR>", name + 3);
-    else
-       p = name;
     semsg(_(ermsg), p);
     if (p != name)
        vim_free(p);
@@ -4154,6 +4152,8 @@ define_function(exarg_T *eap, char_u *name_arg, garray_T *lines_to_free)
            else
                eap->skip = TRUE;
        }
+       if (name == NULL)
+           goto ret_free;  // out of memory
 
        // For "export def FuncName()" in an autoload script the function name
        // is stored with the legacy autoload name "dir#script#FuncName" so
index 12097729ffc92b21ad43770046021ce6902c93ac..1b37a5d50abd5f6ee0c22640e171db454c38f9f5 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4073,
 /**/
     4072,
 /**/