Fix fault in assembler when passed a bogus input file.
PR gas/20902 * read.c (next_char_of_string): Do end advance past the end of the buffer.
This commit is contained in:
parent
14c1428b29
commit
f49547a604
2 changed files with 16 additions and 0 deletions
|
@ -1,5 +1,9 @@
|
|||
2016-12-05 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR gas/20902
|
||||
* read.c (next_char_of_string): Do end advance past the end of the
|
||||
buffer.
|
||||
|
||||
PR gas/20904
|
||||
* as.h (SKIP_ALL_WHITESPACE): New macro.
|
||||
* expr.c (operand): Use it.
|
||||
|
|
12
gas/read.c
12
gas/read.c
|
@ -5533,6 +5533,12 @@ next_char_of_string (void)
|
|||
c = *input_line_pointer++ & CHAR_MASK;
|
||||
switch (c)
|
||||
{
|
||||
case 0:
|
||||
/* PR 20902: Do not advance past the end of the buffer. */
|
||||
-- input_line_pointer;
|
||||
c = NOT_A_CHAR;
|
||||
break;
|
||||
|
||||
case '\"':
|
||||
c = NOT_A_CHAR;
|
||||
break;
|
||||
|
@ -5629,6 +5635,12 @@ next_char_of_string (void)
|
|||
bump_line_counters ();
|
||||
break;
|
||||
|
||||
case 0:
|
||||
/* Do not advance past the end of the buffer. */
|
||||
-- input_line_pointer;
|
||||
c = NOT_A_CHAR;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
#ifdef ONLY_STANDARD_ESCAPES
|
||||
|
|
Loading…
Add table
Reference in a new issue