PR28979, internal error in demand_empty_rest_of_line

The change in read_a_source_file prevents the particular testcase in
the PR from triggering the assertion in demand_empty_rest_of_line.
I've also removed the assertion.  Nothing much goes wrong with gas if
something else triggers it, so it's not worthy of an abort.

I've also changed my previous patch to ignore_rest_of_line to allow
that function to increment input_line_pointer past buffer_limit, like
demand_empty_rest_of_line:  The two functions ought to behave the
same in that respect.  Finally, demand_empty_rest_of_line gets a
little hardening to prevent accesses past buffer_limit plus one.

	PR 28979
	* read.c (read_a_source_file): Calculate known size for sbuf
	rather than calling strlen.
	(demand_empty_rest_of_line): Remove "know" check.  Expand comment.
	Don't dereference input_line_pointer when past buffer_limit.
	(ignore_rest_of_line): Allow input_line_pointer to increment to
	buffer_limit plus one.  Expand comment.
1 file changed