asan: Invalid free in alpha_ecoff_get_relocated_section_contents
authorAlan Modra <amodra@gmail.com>
Mon, 16 Oct 2023 09:04:03 +0000 (19:34 +1030)
committerAlan Modra <amodra@gmail.com>
Tue, 17 Oct 2023 04:47:25 +0000 (15:17 +1030)
This fixes an ancient bug in commit a3a33af390 (which makes me think
this code has never been used).

* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Iterate
through reloc_vector using a temp.

bfd/coff-alpha.c

index 1b34a8957c25ed74a629323c25676b7e2227a975..59476b572371ccf7c9c47b8af2fffb6c3ef9738e 100644 (file)
@@ -810,13 +810,13 @@ alpha_ecoff_get_relocated_section_contents (bfd *abfd,
        }
     }
 
-  for (; *reloc_vector != (arelent *) NULL; reloc_vector++)
+  for (arelent **relp = reloc_vector; *relp != NULL; relp++)
     {
       arelent *rel;
       bfd_reloc_status_type r;
       char *err;
 
-      rel = *reloc_vector;
+      rel = *relp;
       r = bfd_reloc_ok;
       switch (rel->howto->type)
        {