]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.2136: Vim9: Using uninitialized variable v8.2.2136
authorBram Moolenaar <Bram@vim.org>
Sun, 13 Dec 2020 11:25:35 +0000 (12:25 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 13 Dec 2020 11:25:35 +0000 (12:25 +0100)
Problem:    Vim9: Using uninitialized variable.
Solution:   Initialize "len" to zero.  Clean up fnamemodify().

src/filepath.c
src/version.c

index 347612a802805b372e4d6340f0aa20111e680730..0db0dcfb1fd101eb22c483674d61ba562fc9cf34 100644 (file)
@@ -1019,7 +1019,7 @@ f_fnamemodify(typval_T *argvars, typval_T *rettv)
     char_u     *fname;
     char_u     *mods;
     int                usedlen = 0;
-    int                len;
+    int                len = 0;
     char_u     *fbuf = NULL;
     char_u     buf[NUMBUFLEN];
 
@@ -1028,12 +1028,13 @@ f_fnamemodify(typval_T *argvars, typval_T *rettv)
        return;
     fname = tv_get_string_chk(&argvars[0]);
     mods = tv_get_string_buf_chk(&argvars[1], buf);
-    if (fname == NULL)
+    if (mods == NULL || fname == NULL)
        fname = NULL;
-    else if (mods != NULL && *mods != NUL)
+    else
     {
        len = (int)STRLEN(fname);
-       (void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len);
+       if (mods != NULL && *mods != NUL)
+           (void)modify_fname(mods, FALSE, &usedlen, &fname, &fbuf, &len);
     }
 
     rettv->v_type = VAR_STRING;
index 7f78742acdf6286c1081a971e805734526ebd83b..0cb1d92974260c4e5b3646760dd74ba6aba82a87 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2136,
 /**/
     2135,
 /**/