diff options
-rw-r--r-- | bfd/ieee.c | 2 | ||||
-rw-r--r-- | bfd/oasys.c | 3 | ||||
-rw-r--r-- | bfd/targets.c | 4 |
3 files changed, 5 insertions, 4 deletions
@@ -1864,7 +1864,7 @@ bfd_target ieee_vec = (HAS_RELOC | EXEC_P | /* object flags */ HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED), - (SEC_CODE|SEC_DATA|SEC_ROM + (SEC_CODE|SEC_DATA|SEC_ROM|SEC_HAS_CONTENTS |SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */ 0, /* valid reloc types */ ' ', /* ar_pad_char */ diff --git a/bfd/oasys.c b/bfd/oasys.c index c68ce07..995d962 100644 --- a/bfd/oasys.c +++ b/bfd/oasys.c @@ -293,7 +293,8 @@ bfd *abfd; while (loop) { oasys_record_union_type record; oasys_read_record(abfd, &record); - + if (record.header.length < sizeof(record.header)) + return (bfd_target *)NULL; switch ((oasys_record_enum_type)(record.header.type)) { case oasys_record_is_header_enum: diff --git a/bfd/targets.c b/bfd/targets.c index d087f45..252cbe7 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -40,7 +40,7 @@ extern bfd_target m88k_bcs_vec; bfd_target *target_vector[] = { #ifndef INTEL960VERSION - &srec_vec, + #endif /* INTEL960VERSION */ &ieee_vec, @@ -51,6 +51,6 @@ bfd_target *target_vector[] = &m88k_bcs_vec, &b_out_vec_big_host, &b_out_vec_little_host, - + &srec_vec, NULL }; |