From 3be64886b5cd7e877d8783a53b81e2c6f7d01307 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 19 Feb 2016 13:19:57 +0000 Subject: [PATCH] Prevent seg-fault in gas reading a binary input file. PR 19630 * read.c (read_a_source_file): Check for assemble_one returning with input_line_pointer set to NULL. --- gas/ChangeLog | 6 ++++++ gas/read.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index b1637a38ae..d97a4b729c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2016-02-19 Nick Clifton + + PR 19630 + * read.c (read_a_source_file): Check for assemble_one returning + with input_line_pointer set to NULL. + 016-02-19 Trevor Saunders * listing.c (rebuffer_line): Change return type to void. diff --git a/gas/read.c b/gas/read.c index 22da1df306..5e0e3c8d99 100644 --- a/gas/read.c +++ b/gas/read.c @@ -1176,6 +1176,11 @@ read_a_source_file (char *name) assemble_one (s); /* Assemble 1 instruction. */ + /* PR 19630: The backend may have set ilp to NULL + if it encountered a catastrophic failure. */ + if (input_line_pointer == NULL) + as_fatal (_("unable to continue with assembly.")); + *input_line_pointer++ = nul_char; /* We resume loop AFTER the end-of-line from