From 511b1657d2b251e529a7a0634325bb7d8f3af80d Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 22 Jul 2015 21:58:50 +0930 Subject: gas line buffer handling This fixes a segfault when macro definitions end on the last line of a file, and that line isn't properly terminated with a newline. gas used to throw away the last line in cases like this, whereas in other cases gas added the missing newline. So I've also made gas consistently provide a missing newline. PR gas/18687 * input-scrub.c (input_scrub_next_buffer): Rearrange and simplify loop. Don't drop lines at end of file lacking a newline, add a newline instead. Ensure partial_size is zero whenever partial_where is NULL. Adjust buffer size for extra char. (input_scrub_push, input_scrub_begin): Adjust buffer size here too. --- gas/ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gas/ChangeLog') diff --git a/gas/ChangeLog b/gas/ChangeLog index 5ea9714..a3268cb 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2015-07-22 Alan Modra + + PR gas/18687 + * input-scrub.c (input_scrub_next_buffer): Rearrange and simplify + loop. Don't drop lines at end of file lacking a newline, add a + newline instead. Ensure partial_size is zero whenever + partial_where is NULL. Adjust buffer size for extra char. + (input_scrub_push, input_scrub_begin): Adjust buffer size here too. + 2015-07-20 Matthew Wahab * NEWS: Mention corrected spelling of armv6kz. -- cgit v1.1