mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
skeletons: beware not to use yyarg when it's null
Reported by Adrian Vogelsgesang. * data/skeletons/glr.c, data/skeletons/lalr1.cc, * data/skeletons/lalr1.java, data/skeletons/yacc.c: Here.
This commit is contained in:
3
TODO
3
TODO
@@ -1,7 +1,4 @@
|
||||
* Bison 3.6
|
||||
** syntax_error_arguments
|
||||
Don't store the lookahead if !argv.
|
||||
|
||||
** Documentation
|
||||
- yyexpected_tokens in all the languages.
|
||||
- YYNOMEM
|
||||
|
||||
@@ -2188,7 +2188,9 @@ yy_syntax_error_arguments (const yyGLRStack* yystackp,
|
||||
if (yytoken != YYSYMBOL_YYEMPTY)
|
||||
{
|
||||
int yyn;
|
||||
yyarg[yycount++] = yytoken;
|
||||
if (yyarg)
|
||||
yyarg[yycount] = yytoken;
|
||||
++yycount;
|
||||
yyn = yyexpected_tokens (yystackp, yyarg ? yyarg + 1 : yyarg, yyargn - 1);
|
||||
if (yyn == YYNOMEM)
|
||||
return YYNOMEM;
|
||||
|
||||
@@ -1458,7 +1458,8 @@ b4_dollar_popdef])[]dnl
|
||||
|
||||
if (!yyctx.lookahead ().empty ())
|
||||
{
|
||||
yyarg[0] = yyctx.token ();
|
||||
if (yyarg)
|
||||
yyarg[0] = yyctx.token ();
|
||||
int yyn = yyctx.yyexpected_tokens (yyarg ? yyarg + 1 : yyarg, yyargn - 1);
|
||||
return yyn + 1;
|
||||
}
|
||||
|
||||
@@ -981,7 +981,9 @@ b4_dollar_popdef[]dnl
|
||||
int yycount = 0;
|
||||
if (yyctx.getToken () != null)
|
||||
{
|
||||
yyarg[yycount++] = yyctx.getToken ();
|
||||
if (yyarg != null)
|
||||
yyarg[yycount] = yyctx.getToken ();
|
||||
yycount += 1;
|
||||
yycount += yyctx.getExpectedTokens (yyarg, 1, yyargn);
|
||||
}
|
||||
return yycount;
|
||||
|
||||
@@ -1360,7 +1360,9 @@ yy_syntax_error_arguments (const yypcontext_t *yyctx,
|
||||
{
|
||||
int yyn;]b4_lac_if([[
|
||||
YYDPRINTF ((stderr, "Constructing syntax error message\n"));]])[
|
||||
yyarg[yycount++] = yyctx->yytoken;
|
||||
if (yyarg)
|
||||
yyarg[yycount] = yyctx->yytoken;
|
||||
++yycount;
|
||||
yyn = yyexpected_tokens (yyctx, yyarg ? yyarg + 1 : yyarg, yyargn - 1);
|
||||
if (yyn == YYNOMEM)
|
||||
return YYNOMEM;]b4_lac_if([[
|
||||
|
||||
Reference in New Issue
Block a user