PR24827, Linker loops forever if unterminated multi-line comment in script
authorAlan Modra <amodra@gmail.com>
Sat, 20 Jul 2019 01:17:20 +0000 (10:47 +0930)
committerAlan Modra <amodra@gmail.com>
Sat, 20 Jul 2019 01:25:16 +0000 (10:55 +0930)
YY_INPUT returns 0 on end of input, not EOF.

PR 24827
* ldlex.l (comment): Check for 0 return from input(), not EOF.

ld/ChangeLog
ld/ldlex.l

index 9fcc55ce3c4be1b73c40c13b0c10cb7a5b7d3883..4145096afc8f6121f3d54a545b7d2829a797c192 100644 (file)
@@ -1,3 +1,8 @@
+2019-07-20  Alan Modra  <amodra@gmail.com>
+
+       PR 24827
+       * ldlex.l (comment): Check for 0 return from YY_INPUT, not EOF.
+
 2019-07-19  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-powerpc/tlsgd.d,
index c2abc59571dd9357e7cb75807ef959011f12e414..a5c3ba599922bc646522aebf4c5729cd90cca85a 100644 (file)
@@ -675,7 +675,7 @@ comment (void)
   while (1)
     {
       c = input();
-      while (c != '*' && c != EOF)
+      while (c != '*' && c != 0)
        {
          if (c == '\n')
            lineno++;
@@ -694,7 +694,7 @@ comment (void)
       if (c == '\n')
        lineno++;
 
-      if (c == EOF)
+      if (c == 0)
        {
          einfo (_("%F%P: EOF in comment\n"));
          break;