asan: Invalid free in alpha_ecoff_get_relocated_section_contents
Alan Modra
amodra@gmail.com
Tue Oct 17 04:50:30 GMT 2023
More information about the Binutils mailing list
Tue Oct 17 04:50:30 GMT 2023
- Previous message (by thread): [COMMITTED] RISC-V: Fix typo
- Next message (by thread): R_MICROMIPS_GPREL7_S2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This fixes an ancient bug in commit a3a33af390 (which makes me think
this code has never been used). There is a "free (reloc_vector)"
after the end of the loop.
* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Iterate
through reloc_vector using a temp.
diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c
index 1b34a8957c2..59476b57237 100644
--- a/bfd/coff-alpha.c
+++ b/bfd/coff-alpha.c
@@ -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)
{
--
Alan Modra
Australia Development Lab, IBM
- Previous message (by thread): [COMMITTED] RISC-V: Fix typo
- Next message (by thread): R_MICROMIPS_GPREL7_S2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list