PR 34418 alpha_vms_slurp_relocs off-by-one section index check

Alan Modra <[email protected]> Wed, 22 Jul 2026 18:22:18 +0930
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
	* vms-alpha.c (alpha_vms_slurp_relocs): Make cur_psect unsigned.
	Correct cur_psect bounds check.

diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 24b05f90bea..d07660df0a7 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -5281,7 +5281,7 @@ alpha_vms_canonicalize_symtab (bfd *abfd, asymbol **symbols)
 static bool
 alpha_vms_slurp_relocs (bfd *abfd)
 {
-  int cur_psect = -1;
+  unsigned int cur_psect = -1u;
 
   vms_debug2 ((3, "alpha_vms_slurp_relocs\n"));
 
@@ -5525,7 +5525,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
 	    bfd_size_type size;
 
 	    /* Get section to which the relocation applies.  */
-	    if (cur_psect < 0 || cur_psect > (int)PRIV (section_count))
+	    if (cur_psect >= PRIV (section_count))
 	      {
 		_bfd_error_handler (_("invalid section index in ETIR"));
 		goto fail;

-- 
Alan Modra