Fix a potential infinite loop in the Windows resource parser.
PR 26082 * mclex.c (yylex): Add test for an empty input stream.
This commit is contained in:
parent
9c65eeacd8
commit
8affa48ac7
|
@ -1,3 +1,8 @@
|
|||
2020-06-05 Joel Anderson <joelanderson333@gmail.com>
|
||||
|
||||
PR 26082
|
||||
* mclex.c (yylex): Add test for an empty input stream.
|
||||
|
||||
2020-06-04 Stephen Casner <casner@acm.org>
|
||||
|
||||
* testsuite/binutils-all/pr25662-pdp11.s: Alternate source file
|
||||
|
|
|
@ -337,17 +337,19 @@ yylex (void)
|
|||
if (mclex_want_line)
|
||||
{
|
||||
start_token = input_stream_pos;
|
||||
if (input_stream_pos[0] == 0)
|
||||
return -1;
|
||||
if (input_stream_pos[0] == '.'
|
||||
&& (input_stream_pos[1] == '\n'
|
||||
|| (input_stream_pos[1] == '\r' && input_stream_pos[2] == '\n')))
|
||||
{
|
||||
mclex_want_line = FALSE;
|
||||
while (input_stream_pos[0] != 0 && input_stream_pos[0] != '\n')
|
||||
++input_stream_pos;
|
||||
if (input_stream_pos[0] == '\n')
|
||||
++input_stream_pos;
|
||||
return MCENDLINE;
|
||||
}
|
||||
{
|
||||
mclex_want_line = FALSE;
|
||||
while (input_stream_pos[0] != 0 && input_stream_pos[0] != '\n')
|
||||
++input_stream_pos;
|
||||
if (input_stream_pos[0] == '\n')
|
||||
++input_stream_pos;
|
||||
return MCENDLINE;
|
||||
}
|
||||
while (input_stream_pos[0] != 0 && input_stream_pos[0] != '\n')
|
||||
++input_stream_pos;
|
||||
if (input_stream_pos[0] == '\n')
|
||||
|
|
Loading…
Reference in New Issue