PR 32731 ub sanitizer accessing filenames_reversed

tic4x-coff and mcore-pe tickle this bug by a peculiarity of their
default ld scripts.

	PR 32731
	* ldlang.c (lang_add_wild): Init filenames_reversed when no
	filespec.

(cherry picked from commit a021382482a6c891d74d302a598688f447ae97e0)
This commit is contained in:
Alan Modra 2025-02-23 21:04:29 +10:30
parent fde801554c
commit 0058986f0e

View File

@ -8580,6 +8580,7 @@ lang_add_wild (struct wildcard_spec *filespec,
new_stmt = new_stat (lang_wild_statement, stat_ptr);
new_stmt->filename = NULL;
new_stmt->filenames_sorted = false;
new_stmt->filenames_reversed = false;
new_stmt->any_specs_sorted = any_specs_sorted;
new_stmt->section_flag_list = NULL;
new_stmt->exclude_name_list = NULL;
@ -8587,9 +8588,9 @@ lang_add_wild (struct wildcard_spec *filespec,
{
new_stmt->filename = filespec->name;
new_stmt->filenames_sorted = (filespec->sorted == by_name || filespec->reversed);
new_stmt->filenames_reversed = filespec->reversed;
new_stmt->section_flag_list = filespec->section_flag_list;
new_stmt->exclude_name_list = filespec->exclude_name_list;
new_stmt->filenames_reversed = filespec->reversed;
}
new_stmt->section_list = section_list;
new_stmt->keep_sections = keep_sections;