[binutils-gdb] vms-alpha: sections array index sanity checks
Alan Modra
amodra@sourceware.org
Mon Sep 8 12:49:00 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=58b625a9c9ee7780a622d8082abf936ac9514a0c
commit 58b625a9c9ee7780a622d8082abf936ac9514a0c
Author: Alan Modra <amodra@gmail.com>
Date: Mon Sep 8 08:40:03 2025 +0930
vms-alpha: sections array index sanity checks
Adds a couple of missing bound checks.
* vms-alpha.c (alpha_vms_fix_sec_rel): Sanity check relocation
section index.
(alpha_vms_bfd_final_link): Assert that section index is sane.
Diff:
---
bfd/vms-alpha.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index f8eaf6f3559..36cdac68994 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -1863,11 +1863,16 @@ alpha_vms_fix_sec_rel (bfd *abfd, struct bfd_link_info *info,
unsigned int rel, bfd_vma vma)
{
asection *sec;
+ unsigned int sec_indx;
if (PRIV (sections) == NULL)
return 0;
- sec = PRIV (sections)[rel & RELC_MASK];
+ sec_indx = rel & RELC_MASK;
+ if (sec_indx >= PRIV (section_count))
+ return 0;
+
+ sec = PRIV (sections)[sec_indx];
if (info)
{
@@ -9655,6 +9660,7 @@ alpha_vms_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
bfd_vma tfradr = PRIV2 (startbfd, eom_data).eom_l_tfradr;
asection *sec;
+ BFD_ASSERT (ps_idx < PRIV2 (startbfd, section_count));
sec = PRIV2 (startbfd, sections)[ps_idx];
bfd_set_start_address
More information about the Binutils-cvs
mailing list