Revert "ash: fix a SEGV case in an invalid heredoc" xxx
No binary (build failed)
—
(log yok)
| @@ -10524,7 +10524,7 @@ static union node *andor(void); | |
| static union node *pipeline(void); | |
| static union node *parse_command(void); | |
| static void parseheredoc(void); | |
| - | static char nexttoken_ends_list(void); |
| + | static char peektoken(void); |
| static int readtoken(void); | |
| static union node * | |
| @@ -10534,7 +10534,7 @@ list(int nlflag) | |
| int tok; | |
| checkkwd = CHKNL | CHKKWD | CHKALIAS; | |
| - | if (nlflag == 2 && nexttoken_ends_list()) |
| + | if (nlflag == 2 && peektoken()) |
| return NULL; | |
| n1 = NULL; | |
| for (;;) { | |
| @@ -10576,15 +10576,8 @@ list(int nlflag) | |
| tokpushback = 1; | |
| } | |
| checkkwd = CHKNL | CHKKWD | CHKALIAS; | |
| - | if (nexttoken_ends_list()) { |
| - | /* Testcase: "<<EOF; then <W". |
| - | * It used to segfault w/o this check: |
| - | */ |
| - | if (heredoclist) { |
| - | raise_error_unexpected_syntax(-1); |
| - | } |
| + | if (peektoken()) |
| return n1; | |
| - | } |
| break; | |
| case TEOF: | |
| if (heredoclist) | |
| @@ -11962,7 +11955,7 @@ readtoken(void) | |
| } | |
| static char | |
| - | nexttoken_ends_list(void) |
| + | peektoken(void) |
| { | |
| int t; | |