]> granicus.if.org Git - vim/commitdiff
patch 9.0.0364: clang static analyzer gives warnings v9.0.0364
authorYegappan Lakshmanan <yegappan@yahoo.com>
Sat, 3 Sep 2022 09:52:24 +0000 (10:52 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 3 Sep 2022 09:52:24 +0000 (10:52 +0100)
Problem:    Clang static analyzer gives warnings.
Solution:   Avoid the warnings. (Yegappan Lakshmanan, closes #11043)

src/evalvars.c
src/float.c
src/highlight.c
src/mbyte.c
src/ops.c
src/tag.c
src/version.c
src/vim9compile.c

index f5761f958cc58f6c1f81782eba3d4224d34c3f9f..0d1fe821cc07b7cf25091f74b350890bd0e51395 100644 (file)
@@ -1089,7 +1089,6 @@ ex_let(exarg_T *eap)
                {
                    // +=, /=, etc. require an existing variable
                    semsg(_(e_cannot_use_operator_on_new_variable), eap->arg);
-                   i = FAIL;
                }
                else if (vim_strchr((char_u *)"+-*/%.", *expr) != NULL)
                {
@@ -1112,7 +1111,6 @@ ex_let(exarg_T *eap)
                vim_strncpy(op, expr - len, len);
                semsg(_(e_white_space_required_before_and_after_str_at_str),
                                                                   op, argend);
-               i = FAIL;
            }
 
            if (eap->skip)
index ef9b8309e04dc500c3381125bc09387be1315283..aa7d697c6fd12d1118b47a8f0a6004fbec5205c9 100644 (file)
@@ -54,12 +54,11 @@ string2float(
     if (skip_quotes && vim_strchr((char_u *)s, '\'') != NULL)
     {
        char_u      buf[100];
-       char_u      *p = buf;
+       char_u      *p;
        int         quotes = 0;
 
        vim_strncpy(buf, (char_u *)s, 99);
-       p = buf;
-       for (;;)
+       for (p = buf; ; p = skipdigits(p))
        {
            // remove single quotes between digits, not in the exponent
            if (*p == '\'')
@@ -69,7 +68,6 @@ string2float(
            }
            if (!vim_isdigit(*p))
                break;
-           p = skipdigits(p);
        }
        s = (char *)buf;
        f = strtod(s, &s);
index 303d5c294f72d3d1105633f1716a638201911c5d..d0d6fdef6bc2c47b874a25cf331f8d43d536ffef 100644 (file)
@@ -4515,7 +4515,7 @@ hlg_add_or_update(dict_T *dict)
 # endif
     p = add_attr_and_value(p, (char_u *)" guifg=", 7, guifg);
     p = add_attr_and_value(p, (char_u *)" guibg=", 7, guibg);
-    p = add_attr_and_value(p, (char_u *)" guisp=", 7, guisp);
+    (void)add_attr_and_value(p, (char_u *)" guisp=", 7, guisp);
 
     do_highlight(hlsetBuf, forceit, FALSE);
 
index 54f7fa4fbb98c73808858d59d4e13dd79b427b4d..d3a4644bf7026d019d4169120a26477e75e8ab0b 100644 (file)
@@ -5617,7 +5617,6 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
     }
 
     // Store the items in the new table.
-    item = 0;
     for (item = 0; item < l->lv_len; ++item)
     {
        listitem_T      *lili = ptrs[item];
index 4733976527f2b26f5e930aff634065a318568548..5629a1a669ccdc38ff6fbee556ca0aff3b7ff4d5 100644 (file)
--- a/src/ops.c
+++ b/src/ops.c
@@ -1282,11 +1282,11 @@ op_tilde(oparg_T *oap)
 #ifdef FEAT_NETBEANS_INTG
            if (netbeans_active() && one_change)
            {
-               char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
+               char_u *ptr;
 
                netbeans_removed(curbuf, pos.lnum, bd.textcol,
                                                            (long)bd.textlen);
-               // get the line again, it may have been flushed
+               // get the line now, it may have been flushed
                ptr = ml_get_buf(curbuf, pos.lnum, FALSE);
                netbeans_inserted(curbuf, pos.lnum, bd.textcol,
                                                &ptr[bd.textcol], bd.textlen);
index 3141e7686f02fe4a4f98628236810fc5084e5859..c1f6e65f45e1fe0502f17e7da07acfa67e4fc8c2 100644 (file)
--- a/src/tag.c
+++ b/src/tag.c
@@ -4368,7 +4368,12 @@ get_tags(list_T *list, char_u *pat, char_u *buf_fname)
     {
        for (i = 0; i < num_matches; ++i)
        {
-           parse_match(matches[i], &tp);
+           if (parse_match(matches[i], &tp) == FAIL)
+           {
+               vim_free(matches[i]);
+               continue;
+           }
+
            is_static = test_for_static(&tp);
 
            // Skip pseudo-tag lines.
index a681292ced72c243ac1bab9918fefe3ab3452c7d..a3d8f2c0bf0643d19b3f7dead00724893db7dfc1 100644 (file)
@@ -707,6 +707,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    364,
 /**/
     363,
 /**/
index 20366752cfad3e7b9248cfc36fa0a34e6d959ed3..a785ba98dbc859a6700cb4289b52d95b58e93804 100644 (file)
@@ -2243,9 +2243,9 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx)
                        r = compile_expr0_ext(&p, cctx, &is_const);
                        if (lhs.lhs_new_local)
                            ++cctx->ctx_locals.ga_len;
-                       if (r == FAIL)
-                           goto theend;
                    }
+                   if (r == FAIL)
+                       goto theend;
                }
                else if (semicolon && var_idx == var_count - 1)
                {