patch 8.2.0607: gcc warns for using uninitialized variable
Problem: Gcc warns for using uninitialized variable. (John Marriott)
Solution: Set name_end also for environment variables.
diff --git a/src/evalvars.c b/src/evalvars.c
index 12bd42f..b5075d5 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1428,34 +1428,35 @@
if (!error && !eap->skip
&& callback(&lv, arg, eap, deep, cookie) == FAIL)
error = TRUE;
- arg = skipwhite(arg);
- continue;
+ name_end = arg;
}
-
- // Parse the name and find the end.
- name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error,
- glv_flags, FNE_CHECK_START);
- if (lv.ll_name == NULL)
- error = TRUE; // error but continue parsing
- if (name_end == NULL || (!VIM_ISWHITE(*name_end)
- && !ends_excmd(*name_end)))
+ else
{
- if (name_end != NULL)
+ // Parse the name and find the end.
+ name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error,
+ glv_flags, FNE_CHECK_START);
+ if (lv.ll_name == NULL)
+ error = TRUE; // error but continue parsing
+ if (name_end == NULL || (!VIM_ISWHITE(*name_end)
+ && !ends_excmd(*name_end)))
{
- emsg_severe = TRUE;
- emsg(_(e_trailing));
+ if (name_end != NULL)
+ {
+ emsg_severe = TRUE;
+ emsg(_(e_trailing));
+ }
+ if (!(eap->skip || error))
+ clear_lval(&lv);
+ break;
}
- if (!(eap->skip || error))
- clear_lval(&lv);
- break;
- }
- if (!error && !eap->skip
+ if (!error && !eap->skip
&& callback(&lv, name_end, eap, deep, cookie) == FAIL)
- error = TRUE;
+ error = TRUE;
- if (!eap->skip)
- clear_lval(&lv);
+ if (!eap->skip)
+ clear_lval(&lv);
+ }
arg = skipwhite(name_end);
} while (!ends_excmd2(name_end, arg));
diff --git a/src/version.c b/src/version.c
index b95c7ee..f175ff3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 607,
+/**/
606,
/**/
605,