diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2009-01-27 16:37:10 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2009-01-27 16:37:10 +0000 |
commit | 27cc28f94b69c07ac6c4b1834c2e65538dbbcc3a (patch) | |
tree | adc5ea2e72ea4f231e7ddf83f4953f6580822be0 /bfd | |
parent | 1b0adfe09ccf94ad63361691d2e9e81b22896267 (diff) | |
download | gdb-27cc28f94b69c07ac6c4b1834c2e65538dbbcc3a.zip gdb-27cc28f94b69c07ac6c4b1834c2e65538dbbcc3a.tar.gz gdb-27cc28f94b69c07ac6c4b1834c2e65538dbbcc3a.tar.bz2 |
* mach-o.c (bfd_mach_o_archive_p): Restrict the number of
architectures in the archive.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/mach-o.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 41cee38..f6102d5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2009-01-27 Andreas Schwab <schwab@suse.de> + + * mach-o.c (bfd_mach_o_archive_p): Restrict the number of + architectures in the archive. + 2009-01-27 Hans-Peter Nilsson <hp@axis.com> * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL> diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 9ae1bba..e0a6fa4 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -2098,6 +2098,11 @@ bfd_mach_o_archive_p (bfd *abfd) adata->nfat_arch = bfd_getb32 (buf + 4); if (adata->magic != 0xcafebabe) goto error; + /* Avoid matching Java bytecode files, which have the same magic number. + In the Java bytecode file format this field contains the JVM version, + which starts at 43.0. */ + if (adata->nfat_arch > 30) + goto error; adata->archentries = bfd_alloc (abfd, adata->nfat_arch * sizeof (mach_o_fat_archentry)); |