diff options
author | Alan Modra <amodra@gmail.com> | 2025-02-23 21:04:29 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2025-02-23 21:04:29 +1030 |
commit | a021382482a6c891d74d302a598688f447ae97e0 (patch) | |
tree | 6894652cf5da6612734e08eaf8fe7a184bf116ba | |
parent | d1c7d788be4ca79e7764145bc8fe62b7f3dbfc1b (diff) | |
download | binutils-a021382482a6c891d74d302a598688f447ae97e0.zip binutils-a021382482a6c891d74d302a598688f447ae97e0.tar.gz binutils-a021382482a6c891d74d302a598688f447ae97e0.tar.bz2 |
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.
-rw-r--r-- | ld/ldlang.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c index d2c9b96..011c526 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -8689,6 +8689,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; @@ -8696,9 +8697,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; |