asan: double free sb_kill

oss-fuzz hits a flaky crash with a double-free.  I think this is due
to gas static state not being reinitialised between testcases, a bug
with oss-fuzz not gas.  Anyway, this patch should avoid the problem.

	* input-scrub.c (input_scrub_push): Move init of sb_index..
	(input_scrub_reinit): ..to here.
This commit is contained in:
Alan Modra 2022-06-06 14:27:17 +09:30
parent bcdbf606bc
commit 38ef9f36cf

View File

@ -139,6 +139,7 @@ input_scrub_reinit (void)
input_file_begin (); /* Reinitialize! */
logical_input_line = -1u;
logical_input_file = NULL;
sb_index = -1;
buffer_length = input_file_buffer_size () * 2;
buffer_start = XNEWVEC (char, BEFORE_SIZE + AFTER_SIZE + 1 + buffer_length);
@ -172,8 +173,6 @@ input_scrub_push (char *saved_position)
saved->next_saved_file = next_saved_file;
saved->input_file_save = input_file_push ();
sb_index = -1;
input_scrub_reinit ();
return saved;