bug-bison
[Top][All Lists]
Advanced

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

Re: segfault after restoring last deleted stack


From: Paul Eggert
Subject: Re: segfault after restoring last deleted stack
Date: 12 Jan 2004 15:38:51 -0800
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Thanks for the bug report.  Does the following patch fix things for you?

2004-01-12  Paul Eggert  <address@hidden>

        * data/glr.c (yyreportSyntaxError): Don't dump core if
        *yytokenp == YYEMPTY.

--- glr.c.~1.65.~       Sat Oct  4 23:46:52 2003
+++ glr.c       Mon Jan 12 15:32:14 2004
@@ -1647,14 +1647,19 @@ yyreportSyntaxError (yyGLRStack* yystack
                  }
                yyprefix = " or ";
              }
-         yysize += (sizeof ("syntax error, unexpected ")
-                    + strlen (yytokenName (*yytokenp)));
+         yysize += (*yytokenp == YYEMPTY
+                    ? sizeof "syntax error"
+                    : (sizeof "syntax error, unexpected "
+                       + strlen (yytokenName (*yytokenp))));
          yymsg = YYMALLOC (yysize);
          if (yymsg != 0)
            {
              char* yyp = yymsg;
-             sprintf (yyp, "syntax error, unexpected %s",
-                      yytokenName (*yytokenp));
+             if (*yytokenp == YYEMPTY)
+               strcpy (yyp, "syntax error");
+             else
+               sprintf (yyp, "syntax error, unexpected %s",
+                        yytokenName (*yytokenp));
              yyp += strlen (yyp);
              if (yycount < 5)
                {




reply via email to

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