mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 18:14:13 +08:00
Fix memory access violations triggered by running dlltool on corrupt binaries.
PR binutils/17512 * dlltool.c (identify_search_archive): If the last archive was the same as the current archive, terminate the loop. * pdp11.c (aout_get_external_symbols): Return false if there are no symbols.
This commit is contained in:
parent
20d79870f3
commit
37e3922eed
@ -1,3 +1,9 @@
|
||||
2015-01-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR binutils/17512
|
||||
* pdp11.c (aout_get_external_symbols): Return false if there are
|
||||
no symbols.
|
||||
|
||||
2015-01-26 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
||||
|
||||
* elf32-nds32.c (nds32_elf_pick_relax): Fix again setting.
|
||||
|
@ -1189,6 +1189,9 @@ aout_get_external_symbols (bfd *abfd)
|
||||
|
||||
count = exec_hdr (abfd)->a_syms / EXTERNAL_NLIST_SIZE;
|
||||
|
||||
/* PR 17512: file: 011f5a08. */
|
||||
if (count == 0)
|
||||
return FALSE;
|
||||
#ifdef USE_MMAP
|
||||
if (! bfd_get_file_window (abfd, obj_sym_filepos (abfd),
|
||||
exec_hdr (abfd)->a_syms,
|
||||
|
@ -1,3 +1,9 @@
|
||||
2015-01-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR binutils/17512
|
||||
* dlltool.c (identify_search_archive): If the last archive was the
|
||||
same as the current archive, terminate the loop.
|
||||
|
||||
2015-01-23 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* nlmconv.c (powerpc_mangle_relocs): Fix build errors introduced
|
||||
|
@ -3589,7 +3589,15 @@ identify_search_archive (bfd * abfd,
|
||||
}
|
||||
|
||||
if (last_arfile != NULL)
|
||||
bfd_close (last_arfile);
|
||||
{
|
||||
bfd_close (last_arfile);
|
||||
/* PR 17512: file: 8b2168d4. */
|
||||
if (last_arfile == arfile)
|
||||
{
|
||||
last_arfile = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
last_arfile = arfile;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user