X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a4e25e1dec3b4e5ff028817eaefa9827041636c2..122bea3ab92125b4f3e8a62ea01c237262af7d07:/data/push.c diff --git a/data/push.c b/data/push.c index 5ad90616..ee9aa671 100644 --- a/data/push.c +++ b/data/push.c @@ -750,12 +750,12 @@ do { \ /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - fprintf (stderr, " $%d = ", yyi + 1); + YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &]b4_rhs_value(yynrhs, yyi + 1)[ ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl b4_user_args[); - fprintf (stderr, "\n"); + YYFPRINTF (stderr, "\n"); } } @@ -1091,7 +1091,14 @@ b4_push_if( ]b4_locations_if([[ YYLTYPE yylloc; ]])])[ if (yyps == 0) - yyps_local = yypstate_new (); + { + yyps_local = yypstate_new (); + if (!yyps_local) + { + yyerror (]b4_yyerror_args[YY_("memory exhausted")); + return 2; + } + } else yyps_local = yyps; do { @@ -1108,6 +1115,8 @@ b4_push_if( ]b4_c_function_def([[yypstate_new]], [[yypstate *]])[ { yypstate *yyps = (yypstate *) malloc (sizeof *yyps); + if (!yyps) + return 0; yyps->yynew = 1; return yyps; }