bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

yacc.c fix to avoid use of uninitialized variables in initial action


From: Paul Eggert
Subject: yacc.c fix to avoid use of uninitialized variables in initial action
Date: Sat, 09 Jul 2005 00:17:34 -0700

I installed this:

2005-07-09  Paul Eggert  <address@hidden>

        * data/yacc.c (yyparse): In the initial action, set
        yylsp[0] and yyvsp[0] rather than yylloc and yylval.
        This avoids the use of undefined variables if the initial
        action does not set yylloc and/or yylval.

Index: data/yacc.c
===================================================================
RCS file: /cvsroot/bison/bison/data/yacc.c,v
retrieving revision 1.92
diff -p -u -r1.92 yacc.c
--- data/yacc.c 9 Jun 2005 20:44:28 -0000       1.92
+++ data/yacc.c 9 Jul 2005 07:11:18 -0000
@@ -859,8 +859,8 @@ b4_c_function_def([yyparse], [int], b4_p
 #endif
 ]])
 m4_ifdef([b4_initial_action], [
-m4_pushdef([b4_at_dollar],     [yylloc])dnl
-m4_pushdef([b4_dollar_dollar], [yylval])dnl
+m4_pushdef([b4_at_dollar],     [[yylsp[0]]])dnl
+m4_pushdef([b4_dollar_dollar], [[yyvsp[0]]])dnl
   /* User initialization code. */
 b4_initial_action
 m4_popdef([b4_dollar_dollar])dnl
@@ -868,10 +868,7 @@ m4_popdef([b4_at_dollar])dnl
 /* Line __line__ of yacc.c.  */
 b4_syncline(address@hidden@], address@hidden@])])dnl
 [
-  yyvsp[0] = yylval;
-]b4_location_if([[    yylsp[0] = yylloc;
-]])
-[  goto yysetstate;
+  goto yysetstate;
 
 /*------------------------------------------------------------.
 | yynewstate -- Push a new state, which is found in yystate.  |




reply via email to

[Prev in Thread] Current Thread [Next in Thread]