diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-08-10 22:02:41 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-08-10 22:02:41 +0000 |
commit | 12fa1497c16b3ea003b713529b13cfda9427559a (patch) | |
tree | 671b83be2cea86671b6e335f70f4b94e56a4a1e8 | |
parent | 4e9b47b8d4d03c7e38861887e91ec05136986624 (diff) | |
download | newlib-12fa1497c16b3ea003b713529b13cfda9427559a.zip newlib-12fa1497c16b3ea003b713529b13cfda9427559a.tar.gz newlib-12fa1497c16b3ea003b713529b13cfda9427559a.tar.bz2 |
include/coff/
Fix references past allocated memory for i386-*-go32.
* ti.h (COFF_ADJUST_FILEHDR_IN_POST, COFF_ADJUST_FILEHDR_OUT_POST):
Reference F_TARGET_ID only when !COFF0_P.
-rw-r--r-- | include/coff/ChangeLog | 6 | ||||
-rw-r--r-- | include/coff/ti.h | 16 |
2 files changed, 15 insertions, 7 deletions
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog index a38228b..4aa9dc1 100644 --- a/include/coff/ChangeLog +++ b/include/coff/ChangeLog @@ -1,5 +1,11 @@ 2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com> + Fix references past allocated memory for i386-*-go32. + * ti.h (COFF_ADJUST_FILEHDR_IN_POST, COFF_ADJUST_FILEHDR_OUT_POST): + Reference F_TARGET_ID only when !COFF0_P. + +2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com> + Stop using bfd_usrdata in libbfd. * go32exe.h (struct external_filehdr_go32_exe <stub>, FILHSZ): Replace STUBSIZE by GO32_STUBSIZE. diff --git a/include/coff/ti.h b/include/coff/ti.h index e0e1729..7f3ad7e 100644 --- a/include/coff/ti.h +++ b/include/coff/ti.h @@ -102,19 +102,21 @@ struct external_filehdr #define COFF_ADJUST_FILEHDR_IN_POST(abfd, src, dst) \ do \ { \ - ((struct internal_filehdr *)(dst))->f_target_id = \ - H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id); \ + if (!COFF0_P (abfd)) \ + ((struct internal_filehdr *)(dst))->f_target_id = \ + H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id); \ } \ while (0) #endif #ifndef COFF_ADJUST_FILEHDR_OUT_POST #define COFF_ADJUST_FILEHDR_OUT_POST(abfd, src, dst) \ - do \ - { \ - H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id, \ - ((FILHDR *)(dst))->f_target_id); \ - } \ + do \ + { \ + if (!COFF0_P (abfd)) \ + H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id, \ + ((FILHDR *)(dst))->f_target_id); \ + } \ while (0) #endif |